繁体   English   中英

在Git rebase期间解决合并冲突后需要提交吗?

[英]Is commit needed after resolving merge conflict during Git rebase?

我将另一个分支重新绑定到我的结账分支上,并在rebase期间发生冲突。 我解决了合并冲突。

$ git status
rebase in progress; onto 77c951b
You are currently rebasing branch 'test' on '77c951b'.
  (all conflicts fixed: run "git rebase --continue")

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   br_boss_buha_faktura/forms/br_boss_buha_faktura_head_dtl.frm
        modified:   br_boss_buha_faktura/valuelists/br_boss_buha_faktura_client.val
        new file:   br_boss_buha_faktura/valuelists/br_boss_buha_faktura_client_name.val

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   br_boss_buha_faktura/valuelists/br_boss_buha_faktura_client.val

我是否需要提交上述已解决的合并冲突git commit还是可以直接使用git rebase --continue

这里有一些好的答案,但要回答这个问题。 不,您在解决合并冲突后不需要提交。

通过git add <file>将解决方案添加到git staging区域后, git rebase --continue使用原始提交消息为您提交

注意提交哈希值会改变! 因此,当您将此合并到另一个已提交您在分支中更改的分支时,您将遇到将这些分支合并在一起的问题。


注意我说在解决git rebase冲突后你不需要 git commit ,但如果你愿意,你可以

如果更有意义的话,将文件从一个提交拆分为一系列单独的提交可能很有用。 通常你只想解决冲突。 如下所示: 将先前的提交分解为多个提交

我明白了

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   br_boss_buha_faktura/valuelists/br_boss_buha_faktura_client.val

请做

git add br_boss_buha_faktura/valuelists/br_boss_buha_faktura_client.val

然后

git rebase --continue

执行git rebase --continue会重写您应用于您更改它的表单的当前提交。 它将以与您在test分支中相同的名称提交更改。

注意你在提交时变基础,可能是一个独立的HEAD状态! 通常,在masterstaging分支上有一个rebase。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM