我有一个看起来像这样的项目:
src
build
| - build.xml
| - build.properties
build.properties文件在每台开发人员计算机上都会有所不同。
通常我们的团队方法是永远不会提交build.properties文件,除非添加了新属性。
此解决方案并不理想。这意味着每个dev的属性文件都没有版本化,除非他们做了一些棘手的事情。
在Git中有没有一种标准的方法来处理这种事情?
同样的问题适用于:
谢谢!
编辑:如果文件没有显示在这里也会很好:
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .settings/org.eclipse.wst.common.component
# modified: .settings/org.eclipse.wst.common.project.facet.core.xml
# ...many more
答案 0 :(得分:0)
如果你在Linux上,开发人员可以将这些文件存储在一个单独的本地存储库中,然后将它们符号链接到开发存储库中的正确位置,并将它们添加到那里的.gitignore文件中。这将使开发人员有责任转到他们的设置仓库以提交更改,因为开发者仓库不会提醒他们设置文件已经更改。
如果这些可以捆绑到一个文件夹中,可以在本地创建一个子模块。然后至少会有一些通知表明设置子模块中有“更改”。关于这一点的好处是你可以让构建和其他设置与代码保持同步。我不知道那是多么相关,但您可能会在需要更改的代码中进行更改。编译设置,这将使那些通过历史记录在每个开发基础上保持联系。
答案 1 :(得分:0)
我最终做的是提交分支devEnv-Jake
上的所有文件。然后,当我想要将它们拉入时,我运行jake-mergeDevEnv-git
,这是别名的:
alias jake-mergeDevEnv-git='git merge --no-ff --no-commit devEnv-Jake ; git reset'
下行是您必须小心不要将这些文件提交到您正在处理的分支。