Git 克隆的工作流程

Git Cloned workflow

作为背景,在分叉的工作流程中,我克隆并创建了一个分叉。

我有以下内容:

Remote:
origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)
upstream        https://github.com/Whosebug/repo.git (fetch)
upstream        no_push (push)

然后,我转到 fork 中的主分支并通过变基更新分支:

git checkout master
git fetch upstream
git rebase upstream/master
git push

之后,我转到我的 fork 中的功能分支并更新此分支:

git checkout feature
git fetch upstream
git rebase upstream/master
git push

最后,当执行推送时,我有一个关于 master 分支的功能分支更新,并且在顶部包括与功能分支相关的更改。到目前为止一切顺利。

我的问题是如何在没有 fork 的情况下遵循类似的工作流程? 假设您只有以下内容:

Remote:
origin        https://github.com/Whosebug/repo.git (fetch)
origin        https://github.com/Whosebug/repo.git (fetch)

您有 master 分支(它将合并来自不同分支的所有更改)和另一个名为 feature-2 的分支。

在这种情况下,我只需要更新 master 分支的 feature-2。然后,应该足以执行以下操作(我需要使用 rebase 将我的更改包含在顶部)?

git fetch origin
git rebase origin/feature-2
git push

这是正确的吗?

In this scenario, I just need to update feature-2 with respect to master branch.

那么你需要在更新后的远程基础上进行变基 master:

git fetch origin
git switch feature-2
git rebase origin/master
git push --force