Tim*_*ahn 12 git version-control git-tower
我的机器上有两个本地git分支 - 一个名为"v2"的分支和一个名为"master"的分支.我正在将v2合并到master中,同时检查master和head branch.
我想将"v2"分支合并到"master"分支中.当我执行合并时,我必须逐个解决许多冲突.
对于每个冲突,如何保留"v2"分支文件而不是文件的"主"分支版本?
Git Tower针对这些类型的冲突向我提出的选项是:
根据我的理解,"保留"文件的选项意味着保留"v2"版本(正在合并的版本)和"删除"文件意味着不添加"v2"版本(而是保留现有的"主"版本).但是,当我使用删除选项时,它实际上已从repo中删除了该文件.
对于这些类型的冲突,如何保留"v2"分支文件而不是文件的"主"分支版本?
Ada*_*ruk 18
即使您使用的是Git Tower,也可以下载到命令行并使用
git checkout --theirs file.txt
Run Code Online (Sandbox Code Playgroud)
这里有一些关于它的文档:
http://gitready.com/advanced/2009/02/25/keep-either-file-in-merge-conflicts.html
如果您只想使用git tower,请按原样完成合并,然后签出该文件的其他分支版本.现在进行修改 - 如果可能的话.
Git已经发展成为一个命令行工具.对于我曾经使用的所有其他工具,我总是在功能上有差距.我选择拥抱而不是与Git的设计作斗争.
此外,您可以连接Beyond Compare之类的内容,并选择问题中提到的"外部工具".在那里,您可以选择"他们的"方面.
如果你想要保持v2手(我希望大师看起来与v2完全一样),我认为最简单的方法是:
ours策略将master合并到分支中它看起来像这样:
git checkout v2
git merge -s ours master
git checkout master
git merge v2
Run Code Online (Sandbox Code Playgroud)
如果您只希望此类解决方案仅在冲突时发生,那么您可以:
git checkout master
git merge -s recursive -Xtheirs v2
Run Code Online (Sandbox Code Playgroud)
您可以在这里阅读git文档中的合并策略.
更新:不幸的是,我不认为Git Tower会提供一种方法来实现这一目标.:-(
| 归档时间: |
|
| 查看次数: |
13683 次 |
| 最近记录: |