【发布时间】:2011-09-18 07:47:04
【问题描述】:
我想要一个 git 存储库,其中包含一个用于开发的分支和一个用于部署的分支。我有几个我的项目需要的配置和数据库文件。我希望部署分支没有我的项目的任何配置或数据库文件,但我想将这些文件的版本保留在我的开发分支中以便能够进行测试。在将开发分支合并到部署分支时,有什么方法可以让合并过程忽略这些文件?
【问题讨论】:
标签: git
我想要一个 git 存储库,其中包含一个用于开发的分支和一个用于部署的分支。我有几个我的项目需要的配置和数据库文件。我希望部署分支没有我的项目的任何配置或数据库文件,但我想将这些文件的版本保留在我的开发分支中以便能够进行测试。在将开发分支合并到部署分支时,有什么方法可以让合并过程忽略这些文件?
【问题讨论】:
标签: git
您可以使用git merge --no-commit 并在提交合并之前删除配置文件。不过,可能还有更精简的可能性。
但是,我建议将文件放在两个分支中,或者根本不包含它们。您使用什么语言和开发环境?它们是否提供了一些可能性来根据您尝试制作的构建类型指定不同的文件?
【讨论】:
来自专业 git 书:http://git-scm.com/book/en/Customizing-Git-Git-Attributes#Merge-Strategies
在你的分支上
echo 'myconfig.cfg merge=ours' >> .gitattributes
您可以 gitignore (man gitignore) 或将 .gitattributes 保留在本地仅在您的分支中。
【讨论】:
您可以进行伪合并。这实际上是尚未合并的提交的变基。因此,如果在某个时间点您之前合并并保留了两个分支的外观,您应该只合并上次合并后引入的提交的差异。
这是描述这种“特殊合并”的答案:
【讨论】: