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
作为背景,在分叉的工作流程中,我克隆并创建了一个分叉。
我有以下内容:
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