Github Desktop:Rebase 与 Merge Commit,以保持分支最新

问题描述 投票:0回答:1

我为回购做出贡献的工作流程是

  1. 创建上游的分叉
  2. 将叉子克隆到我的本地
  3. 将更改推送到我的分叉
  4. 创建 PR 将我的更改合并到上游

有时,当我正在进行更改时,其他开发人员可能会将他们的更改提交到上游,因此我想做一个变基,这将使我的分叉保持最新状态。但我注意到在下面的场景中,Rebase 和 Merge Commit 给了我不同的响应,

我测试的方法如下:

  1. 我创建了上游的一个分叉
  2. 我使用 GitHub Desktop 将我的 fork 克隆到本地,并将当前分支设置为我的 fork 分支
  3. 然后我在上游/主分支中进行了更改并提交了
  4. 当我单击“Rebase currentbranch”时,它告诉我当前分支是最新的,如下所示:
  5. 当我单击“合并到当前分支”时,它检测到上游的更改:

    upstream/master
    是上游的分支,
    muti/master
    是我分叉中的分支。

我的问题是,为什么 rebase 没有检测到任何更改,而合并和提交却可以?

git github git-merge desktop git-rebase
1个回答
0
投票

首先请注意,如果您有权访问

upstream
存储库,则无需分叉它即可推送修复分支并启动 PR(拉取请求)。

您可以直接在上游存储库中完成所有这些操作。

其次,只有当前分支与

upstream/master
有不同的历史记录时,变基才会起作用。
如果当前分支 HEAD 是
upstream/master
的祖先,则变基(
upstream/master
之上的当前分支)将是无操作。
但是合并(
upstream/master
到当前分支)不会,因为从当前分支的角度来看,有一个它没有的提交(在上游/主控中完成)。

© www.soinside.com 2019 - 2024. All rights reserved.