我有一个foo.cpp
文件。在master分支上有一个修改,
merge conflict test, make a master modification.
在同一行的分支br1上还有另一个修改,
merge conflict test, make a local modification and will stash it.
现在,我在br1上并存储本地修改,然后重新建立master分支的基础。
git rebase origin/master
然后我git stash pop
进行本地修改,在这里得到了冲突,
<<<<<<< Updated upstream
merge conflict test, make a master modification.
=======
merge conflict test, make a local modification and will stash it.
>>>>>>> Stashed changes
这是问题所在。在Visual Studio上工作时,我知道可以在VS GUI中单击“合并”按钮来编辑冲突。之后,我可以git --continue
经历这场冲突。
但是在当前情况下,我没有VS。我不怎么编辑冲突的命令。我可以在记事本中对其进行编辑,因为冲突很简单,但是我不知道如何将其标记为已解决。
答案 0 :(得分:1)
弹出存储区后,可以运行git status
以获取有关可以执行的某些操作的信息。解决冲突后,您可以添加文件以将冲突标记为已解决:
$ git checkout master
$ <make changes to file>
$ git add file
$ git commit -m "on master, make some changes to file"
$ git checkout -b b1 HEAD~
$ <make local changes to file>
$ git stash
$ git rebase master
$ git status
On branch b1
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
no changes added to commit (use "git add" and/or "git commit -a")
$ <edit file to resolve conflicts>
$ git add file
$ git reset
git reset
将取消暂存对该文件所做的所有更改。不必解决冲突,但是它将使您回到与隐藏和重新设置基准之前相似的状态。