防止更新git中的特定本地文件

时间:2014-09-18 08:45:09

标签: git

我当前的项目有一个属性文件,其中包含项目的一些配置。

例如

server.jboss.home.dir=/home/user1/apps/apache-tomcat-7.0.54

我们需要在本地编辑这些配置以运行程序。

但问题是当有人做出提交时,他会在属性文件中提交本地更改,还包括其他更改。因此,当我们需要提取更改时,我们必须隐藏我们的本地属性文件更改并在拉后更改它们。

git pull (或任何命令)是否有办法阻止更新特定的本地文件?

2 个答案:

答案 0 :(得分:3)

将其添加到gitignore。

   gitignore - Specifies intentionally untracked files to ignore

在项目的根目录中或在您希望忽略的文件所在的位置创建一个名为.gitignore的文件,并从.gitignore文件中添加该文件的相对路径。

如果您需要回购中的示例配置文件,人们通常会选择命名约定将其包含在被忽略文件所在的位置。通常:

config.ini < ignored
config.dist.ini < sample

config.sample.ini < sample

另一种方法是使全局配置文件包含所需的项目但不与每个开发人员的设置相关,以及本地配置文件可以选择性地覆盖全局配置文件中的项目。例如,全局的可以包含项目的版本号,本地的可以包含数据库密码。这需要在您的应用程序代码中进行更多设置。

您可能还希望查看此问题:How to make Git "forget" about a file that was tracked but is now in .gitignore?

答案 1 :(得分:0)

这就是gitignore文件。例如,将文件设为 config.template 。检查它们,当人们克隆项目时,他可以将模板复制到他自己的项目中。

.gitignore文件中添加文件。

/your/path/yourfile

然后该文件不在存储库中。

http://git-scm.com/docs/gitignore