我需要帮助解决GitHub中的git pull中的合并冲突,我做了以下操作
在我目前的分支机构,我做了以下
FA
git pull --rebase master
git pull ssh:.....
(从我的评论中删除了更改)git add .
git commit --amend
提交时我收到了错误"致命:你正处于合并的中间 - 无法修改"
我想在不创建新提交ID的情况下再次修改相同的提交。有办法吗?
答案 0 :(得分:2)
鉴于您的历史记录如下:
B C1 C2
o----o----o master
\
o feature
F
您可以将更改从feature
重新绑定到您将其拉入的分支(master
),以使其成为“快进合并”,从而创建线性历史记录:
B C1 C2 F
o----o----o----o master, feature
或者,在您描述的阶段,您可以运行git commit
(不使用--amend
)继续创建记录合并结果的提交:
B C1 C2 M
o----o----o----o master
\ /
--o-- feature
F
如果您希望有一个显式合并提交来表示您合并了一个功能分支,您可以使用--no-ff
标记进行rebase然后合并,创建如下内容:
B C1 C2 M
o----o----o---------o master
\ /
--o-- feature
F
您选择哪种变体取决于您自己决定;这三个都是有效的。我通常更喜欢重新定义功能分支,以避免在单独的提交(合并提交)中解决合并冲突。保持历史线性(不合并)是工作流程和品味的问题。