【问题标题】:Git branch suddenly became masterGit分支一下子变master了
【发布时间】:2023-01-18 03:02:07
【问题描述】:

我很想知道发生了什么。我们创建了一个 git 分支,工作完成后我们创建了一个 PR,一切正常。然后在本地我将分支更改为 master 并重新开始工作。然后我意识到 PR 已将所有提交“删除”,现在 master 等于创建的分支!我们在 BitBucket 中有一个设置禁止对 master 分支进行任何更改,我想知道它发生了什么以及它是如何发生的。

【问题讨论】:

  • 1)你合并了PR吗? 2)你使用了什么合并策略? 3)你重新创建了分支吗? 4) 分行的名称是什么?这看起来像一个快进。

标签: git bitbucket


【解决方案1】:

这看起来像一个fast-forward。如果分支是 master 的简单后代,Git 将选择合并策略。不需要合并。

例如,假设您的回购看起来像这样。

A - B - C - D [master]
             
              E - F - G [branch]

当您将分支合并到主分支时,不需要合并。 Git 只是将 master 移动到 branch 所在的位置。

$ git merge branch

A - B - C - D - E - F - G [master]
                          [branch]

Bitbucket offers this as a merge strategy。可能是the default

我更喜欢不允许快进并且总是需要合并提交。这清楚地表明工作是作为一个单元完成的,并且它提供了一个记录 PR 和发布 # 以供以后参考的地方。

$ git merge --no-ff

A - B - C - D --------- M [master]
                      /
              E - F - G [branch]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2017-11-05
    • 1970-01-01
    • 2014-09-17
    • 2013-01-14
    • 2011-04-22
    相关资源
    最近更新 更多