3

我想从 github master full 中提取来更新我当前的工作目录。我处理过一个名为 form.html 的文件,它存在于我的工作目录中,而旧版本位于 github 原始主分支上。

 git pull origin master

当我从主人那里拉出来时,我要求解决冲突。我不想解决合并冲突,而是希望我的本地分支中的文件 form.html完全替换原始主分支(远程)上的 form.html

实现这一目标的最佳方法是什么?谢谢

4

2 回答 2

6

如果你还没有提交你的本地文件,你可以(遵循“ 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
于 2013-03-24T00:05:36.133 回答
1

假设您已经提交了 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
于 2013-03-24T02:18:32.877 回答