我有两个分支,A
和B
.科A
有一个目录examples
与被跟踪的git一些文件,这些文件应该不会出现分支B
.在我的工作流程,我不合并作出改变A
成B
经常,每次这是一个问题,有一些变化examples
.目前我手动执行此操作:在合并后删除文件或解决当我已经删除的文件发生更改时的冲突.
合并期间是否可以忽略这些文件?(或者是否可以将某些文件限制为一个分支(A
)或远离一个分支(B
)?)
让我试着解释一下为什么我这样做:
A
是博客的骨架(模板,脚本等),B
是我的博客(A
充满了我自己的帖子,图片,草稿等).A
是公共的,我试图让它通用给别人看,并使用它,但因此我需要一些帖子作为展示/测试(examples
目录).每次更改A
并稍后合并到B
我的博客实例上进行此更改 - 这样所有新示例都会出现,B
并且所有已删除的示例B
都已更改,A
因为上次合并导致冲突.
Dav*_*vid 54
我在这里找到了一个很好的答案:stackoverflow Q332528
它使用了从这里获得的想法:Pro-Git合并策略
这是它的副本:
假设您要排除该文件
config.php
在分支A上:
在同一个目录中创建一个名为'.gitattributes'的文件,使用以下行:config.php merge = ours.这告诉git在文件合并时使用什么策略.在这种情况下,它始终保持您的版本,即.您正在合并的分支上的版本.
添加.gitattributes文件并提交
在分支B上:重复步骤1-2
现在尝试合并.您的文件应保持不变.
编辑:
从git的书有关merge=ours
,"一个非常有用的选项是通知Git不会尝试合并特定的文件,当他们有冲突,而是超过别人的使用合并的一面."
因此,这个答案并不适用于问题.pjmorse关于使用子模块的答案很好.
另一种选择是使用子树合并,这可能会带来额外的好处.
您可能会发现 git 的rerere
命令很有用。这样您就可以记录某些合并冲突的解决方案并在以后重复使用。
归档时间: |
|
查看次数: |
49265 次 |
最近记录: |