当前位置: 首页 > 面试题库 >

是否应将项目文件置于版本控制下?

水品
2023-03-14
问题内容

我是否应该将项目文件(如Eclipse的.project,.classpath,.settings)置于版本控制下(例如Subversion,GitHub,CVS,Mercurial等)?


问题答案:

您确实希望保持任何可移植设置文件的版本控制,
这意味着:
其中没有绝对路径的任何文件。
包括:


* .project,

* .classpath(如果未使用绝对路径,则可以使用IDE变量或用户环境变量来实现)

* IDE设置(这是我强烈不同意“已接受”答案的地方)。这些设置通常包括静态代码分析规则,这对于将这个项目加载到他/她的工作区的任何用户一致地实施至关重要。

* IDE特定的设置建议必须写在一个较大的README文件中(当然也要进行版本控制)。

我的经验法则:
您必须能够将项目加载到工作区中,并具有在IDE中正确设置它并在几分钟之内进行所需的一切。
没有其他文档,无法读取Wiki页面。
加载,设置,开始。



 类似资料:
  • 我现在已经切换到Android Studio,并用源代码树在Git中保存我的项目。每当我从模块中添加或删除任何库时,它的.iml文件也会更改。如果我提交*.iml真的无关紧要,因为它们是在其他Android Studio中自动生成的。但是,在这里它说您应该存储*.iml。我的问题是,我们真的需要和别人分享我们的*.iml吗?若有,原因为何?

  • 问题内容: 我目前在我的PHP项目中使用SVN。我当时想我也应该使数据库处于版本控制之下,但是最好的方法是什么?我是否只是在SVN中的项目中制作了一个数据库文件夹,将SQL更改粘贴到名为from_1.0_to_2.0.sql的文件中并提交? 问题答案: 每当您对数据库进行更改时,都应将这些更改保存在迁移中,以便以后可以在更新代码的同时在其他服务器上运行。但是您基本上有了正确的想法。您可以编写一些工

  • AEM多模块项目具有。我们可以在那个级别更改版本,新的构建将显示具有更新版本的工件。 对于版本,将为每个版本创建一个新的AEM包。我们希望在安装新版本之前卸载/删除旧包。 问题是,如何在CI-CD作业中处理旧软件包的卸载/删除部分(要安装的新软件包版本不同)?我们可以考虑以下解决方案 查询软件包列表以获取版本并使用该版本卸载。 在"用参数构建"中将版本作为参数传递给Jenkins作业。但是代码签入

  • 什么是“版本控制”?我为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 在本书所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能),采用版本控制系统(VCS)是个明智的选择。 有了它你就

  • 我有一个Android Studio项目,当我对项目进行更改时,我会将整个项目提交给版本控制。现在,当我想在另一个设备上从我的版本控制中签出最新版本时,Android Studios在打开、构建和运行应用程序时遇到了问题。所以我的问题是:为了签出,我应该提交(或忽略)哪些文件。 另外,当两个人在不同的设备上处理同一个文件,并且他们提交了他们的工作。文件可以合并吗?

  • 通常情况下请不要这样做, vendor 文件夹(或者其它你依赖包所安装的位置)应该被加入 .gitignore/svn:ignore/...... 最好的方式是让所有开发人员使用 Composer 命令来安装依赖,同样的,构建服务器,部署工具等,需要将运行 Composer 纳入工程引导的一部分。 尽管在某些情况下将其提交到版本库挺让吸引人的,但其容易带来下面几个问题: 当你更新代码时,版本控制仓