gpt4 book ai didi

git - 如何在不提交的情况下 merge 到分支?

转载 作者:行者123 更新时间:2023-12-02 20:09:42 24 4
gpt4 key购买 nike

假设我有 branch1,并根据它创建了一个新的 branch2。我向 branch2 提交了两次。如何在没有任何 branch2 存在证据的情况下将branch2 merge 回branch1

图表:

初始状态:

                  E---F  branch2
/
A---B---C---D branch1

通缉状态:

A---B---C---D---E---F  branch1

但我得到的是这样的东西:

A---B---C---D---E---F---(M)  branch1 with extra Merge Commit

注意:我使用 Intellij IDEA 来执行 git 命令。

最佳答案

In git branches are only pointers to commit

就您而言,您只需要做:

git checkout branch1
git merge branch2

如果您没有向branch1提交任何新内容,它将在没有任何 merge 提交的情况下进行 merge (通过git优化)。

在正常情况下,git 应该始终创建 merge 提交。但在这种特殊情况下,自创建子分支以来,父分支尚未进行任何提交,它只是更新引用。

              E---F  branch2
/
A---B---C---D branch1

merge 后:

              E---F  branch1/branch2
/
A---B---C---D

如果您想要 merge 提交,请使用 --no-ff 选项进行 merge 。

git checkout branch1
git merge --no-ff branch2

如果您在创建新分支后有一个新的提交,则 merge 提交创建是不可避免的。举例说明:

               E---F  branch2
/
A---B---C---D ----G branch1

所以现在 merge 提交只是这里的救援者:

              E--------F  branch2
/ \
A---B---C---D ----G-----H(merge commit)
branch1

在上面的情况下,形成了一个新的 merge 提交,并使用其引用更新了branch1。

关于git - 如何在不提交的情况下 merge 到分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53862615/

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