我知道在拉动时会有冲突,但我已经知道存储库版本更好了。如何使用git命令解决命令行上的所有冲突
类似$> git resolve conflict with theirs
或其他东西
答案 0 :(得分:5)
如果您不想保留更改,那么pull就是错误的操作。如果存储库版本明确更好,您只需获取并重置。
E.g。
git fetch
# Assuming my branch was based on origin/master,
# throw my changes away.
git reset --hard origin/master
显然要小心这一点,因为你可能会失去未提交的更改。您可能希望做一个简单的git reset origin/master
并手动删除您当地的更改。
答案 1 :(得分:3)
你是否仍然可以将你的HEAD与遥控器合并,而不会完全删除你的更改,但总是以远程方式解决冲突:
git pull -s recursive -Xtheirs <remote-ref>
但要注意 - 您的更改将部分保存,并且部分会被覆盖。如果您希望它们在树的一部分中被覆盖并保留在另一部分中,这可能没问题,但是对结果代码要非常小心,请务必查看它并将其与远程版本进行比较。
答案 2 :(得分:3)
通过指定合并策略,您应该能够这样做:
git fetch
git merge -s recursive -Xtheirs remotes/origin/branch_name
或
git pull -s recursive -Xtheirs origin master
答案 3 :(得分:0)
尝试
git clean
git pull
如果没有帮助,请尝试
git reset --hard HEAD
git pull