关于git:将更改从原始主服务器更新为fork,然后添加以前保存的更改

updating changes from an original master to fork, then add previously saved changes

本问题已经有最佳答案,请猛点这里访问。

我有一个在Github上上传的代码的分叉。把叉子克隆到我的电脑上之后,我调整了代码的某些部分。但是,原始代码本身已经被编写者修改了。

我要做的是,将我的调整存储在某个地方,更新fork以匹配原始代码,然后将我的调整添加到更新的fork中,而不需要删除/重写任何内容。

有可能吗?我到底应该使用什么git命令?!


按照https://stackoverflow.com/a/7244456/4934814中的步骤进行操作,您将不会覆盖您的更改,而是执行一个rebase,它将重新创建您在上游最新版本的master的fork中所做的提交:

1
2
3
4
git remote add upstream https://github.com/whoever/whatever.git
git fetch upstream
git checkout master
git rebase upstream/master

以下是有关Rebase如何工作的更多信息:https://git-scm.com/book/en/v2/git-branching-rebasing

这一部分尤为重要:

With the rebase command, you can take all the changes that were
committed on one branch and replay them on a different branch.