使用 Git,我在一个分支上。我正在将该分支重新定位到主分支之上。出现了一个冲突,我希望通过忽略分支版本并接受主分支的版本来解决冲突。在重新定位过程中,我怎样指示我想使用主分支的文件版本?
git checkout --ours <path-to-file>
是您要寻找的命令。
它将检出文件的master版本,然后您可以将其添加到索引(标记冲突已解决)并继续重新设置基础。
您可以查看checkout文档获取更多信息。
请参阅--merge
下面的注释,了解为什么需要使用--ours
而不是--theirs
。
git checkout --ours <file>
来保留远程/主文件。 - Samuel Parkinson如果您想保留当前分支文件,请使用git checkout --ours filenamewithpath
如果您想保留其他分支文件,请使用git checkout --theirs filenamewithpath
请查看此链接http://gitready.com/advanced/2009/02/25/keep-either-file-in-merge-conflicts.html
如果你想用“theirs”覆盖所有本地更改,可能是因为有人删除了本地分支所引用的提交并添加了一个新的提交,而你正在进行rebase操作,以便git尝试将(旧的提交+你的提交)应用在theirs之上。
在这种情况下,请使用git rebase -i remote-branch
并注释掉旧的提交。
希望这可以帮到你。