我想从 github master full 中提取来更新我当前的工作目录。我处理过一个名为 form.html 的文件,它存在于我的工作目录中,而旧版本位于 github 原始主分支上。
git pull origin master
当我从主人那里拉出来时,我要求解决冲突。我不想解决合并冲突,而是希望我的本地分支中的文件 form.html完全替换原始主分支(远程)上的 form.html
实现这一目标的最佳方法是什么?谢谢
如果你还没有提交你的本地文件,你可以(遵循“ git pull 保持本地更改”的想法):
git stash
git pull
git stash pop
# if conflict on pop:
git checkout --theirs -- form.html
但是,如果您的文件已提交,请参阅“ Is it possible to exclude specific commits when doing a git merge? ”,并使用 .gitattributes 声明正确的合并:
form.html merge=ours
假设您已经提交了 form.html 文件...
执行 'git pull origin master' 并发生冲突后,您可以根据本地版本轻松解决冲突。拉取后执行以下操作:
git checkout --ours -- <files in conflict>
git add <files in conflict>
git commit -m 'resolved with --ours'
git push origin master