gpt4 book ai didi

git - 解决 git pull 中的 merge 冲突?

转载 作者:行者123 更新时间:2023-12-05 04:07:06 26 4
gpt4 key购买 nike

我需要帮助解决来自 GitHub 的 git pull 中的 merge 冲突,我做了以下操作在我当前的分支上,我做了以下操作

  1. git pull --rebase master
  2. git pull ssh:.....(从我的评论中 pull 更改)
  3. 一个文件中存在 merge 冲突
  4. 消除所有冲突
  5. git add .
  6. 当我尝试使用 git commit --amend 提交时出现错误

"fatal: you are in the middle of merge -- cannot amend"

我想再次修改相同的提交而不创建新的提交 ID。有办法吗?

最佳答案

鉴于您的历史记录如下:

B    C1   C2
o----o----o master
\
o feature
F

您可以将更改从 feature rebase 到您将它们 pull 入的分支 (master) 以使其成为“快进 merge ”,创建线性历史:

B    C1   C2   F
o----o----o----o master, feature

或者,在您描述的阶段,您可以运行 git commit(无需 --amend)继续创建记录 merge 结果的提交:

B    C1   C2   M
o----o----o----o master
\ /
--o-- feature
F

如果您希望有一个明确的 merge 提交来表示您 merge 了一个功能分支,您可以使用 --no-ff 标志重新设置然后 merge ,创建如下所示:

B    C1   C2        M
o----o----o---------o master
\ /
--o-- feature
F

您选择哪种变体由您决定;这三个都有效。我通常更喜欢 rebase 功能分支,以避免必须在单独的提交( merge 提交)中解决 merge 冲突。保持历史线性(不 merge )与否是工作流程和品味的问题。

关于git - 解决 git pull 中的 merge 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48970721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com