我是使用 Git 的新手,更具体地说是 egit 进入 eclipse。
我正在尝试将所有提交合并到一个分支中,但我得到的是我不能这样做,因为cherry-pick 不允许两个不同的父母。
从我的遥控器获取后,我不知道出了什么问题。在历史树中,我可以看到 Origin/Master 和 FETCH_HEAD 似乎在过去的某个地方丢失了。我怎样才能将这些更改合并到主分支中以继续进行?
我是使用 Git 的新手,更具体地说是 egit 进入 eclipse。
我正在尝试将所有提交合并到一个分支中,但我得到的是我不能这样做,因为cherry-pick 不允许两个不同的父母。
从我的遥控器获取后,我不知道出了什么问题。在历史树中,我可以看到 Origin/Master 和 FETCH_HEAD 似乎在过去的某个地方丢失了。我怎样才能将这些更改合并到主分支中以继续进行?
首先,樱桃采摘不会合并!它接受变更集并应用它们——作为补丁,因此不记录祖先信息。
其次,“将所有提交合并到一个分支”这句话是什么意思?您可以将一个或多个分支合并到另一个分支中,而不是特定的提交,更不用说“所有”提交了。
那么你真正想做的是什么?并入? origin/master
_ master
然后就
$ git checkout master
$ git merge origin/master
此时您可能会遇到冲突;在这种情况下,您需要解决它们中的每一个(用于git status
查看哪些路径处于冲突状态;git add
在解决特定文件中的冲突后使用以暂存其更新内容以进行新提交,从而将该文件的冲突标记为已解决) ,然后git commit
是结果。
不要试图FETCH_HEAD
手动弄乱 - 它是一个管道级别的参考,主要用于将它调用git pull
的结果传达给它之后的调用。git fetch
git merge