git 与远程冲突,需要保持本地更改
git conflicts with remote, need to keep local changed
写了一些代码,然后推送给master。一段时间后我需要再次推送(我在同一个文件中添加了更多代码)我遇到了太多冲突,因为在我第一次推送之后我的代码是从别人那里拉出来的,他使用 resharper 来美化代码并推送再次。所以现在我合并了与修改后的文件和美化代码的冲突。
我需要做的是从master那里拉取代码,然后用我的代码覆盖美化后的代码并推送给master。
我在 windows。使用 git bash.
如果您确定只有美化更改而没有内容更改,请在冲突解决期间使用git checkout --ours -- path/to/your/file
完全使用您的文件版本。
您可以 backup your current branch for safety
然后 pull master
并使用 theirs/ours
解决冲突的文件。
$ git pull origin master
$ git status # copy the conflicted file name
$ git checkout --theirs -- . # accept remote changes if conflicts
or,
$ git checkout --ours -- . # accept local changes if conflicts
或者,
$ git reset --hard HEAD
$ git branch backup # backup your branch for safety
$ git pull origin master -s recursive -X theirs # accept remote master changes if conflicts
Or,
$ git pull origin master -s recursive -X ours # accept local changes if conflicts
写了一些代码,然后推送给master。一段时间后我需要再次推送(我在同一个文件中添加了更多代码)我遇到了太多冲突,因为在我第一次推送之后我的代码是从别人那里拉出来的,他使用 resharper 来美化代码并推送再次。所以现在我合并了与修改后的文件和美化代码的冲突。 我需要做的是从master那里拉取代码,然后用我的代码覆盖美化后的代码并推送给master。 我在 windows。使用 git bash.
如果您确定只有美化更改而没有内容更改,请在冲突解决期间使用git checkout --ours -- path/to/your/file
完全使用您的文件版本。
您可以 backup your current branch for safety
然后 pull master
并使用 theirs/ours
解决冲突的文件。
$ git pull origin master
$ git status # copy the conflicted file name
$ git checkout --theirs -- . # accept remote changes if conflicts
or,
$ git checkout --ours -- . # accept local changes if conflicts
或者,
$ git reset --hard HEAD
$ git branch backup # backup your branch for safety
$ git pull origin master -s recursive -X theirs # accept remote master changes if conflicts
Or,
$ git pull origin master -s recursive -X ours # accept local changes if conflicts