更新分叉仓库
Isaac Newton Aranas
2023年1月30日
Forking
意味着你将它复制到你自己的,但被标记为从原始仓库分叉。你可以在你的版本中添加、编辑和删除文件。
你的分叉仓库可以轻松地从上游获取。
在 Git 中更新分叉仓库
克隆你的分叉仓库,转到你的项目文件夹,然后在你的 bash 上运行以下命令。
git remote add upstream https://github.com/authorname/original-repository-name.git
这段代码是添加一个名为 upstream
的远程。remote
就像仓库链接的昵称。
当你执行 git fetch origin master
时,它就像远程 origin
。你现在可以做一个 git fetch upstream master
。
git remote -v
origin https://github.com/you/original-repository-name.git (fetch)
origin https://github.com/you/original-repository-name.git (push)
upstream https://github.com/authorname/original-repository-name.git (fetch)
upstream https://github.com/authorname/original-repository-name.git (push)
现在,我们将获取所有上游分支。
git fetch upstream
选择你要在其中更新对分叉仓库的更改的分支。例如,master
。
git checkout master
从上游合并分支。在这种情况下,你的提交历史不会受到影响。
git merge upstream/master
如果你想从上游完全清理,请运行以下代码。这将重写你的提交,并可能影响那些克隆你的仓库的人。
git rebase upstream/master
提示
你可以创建一个单独的分支来进行变基。这将防止你的工作中的类似分支的 master 发生不必要的合并和历史重写。
最后一步,推送你的分支。
如果你确实合并,请运行以下代码。
git push origin master
如果你做了 rebase,运行下面的代码。
git push -f origin master
请注意,强制 -f
标志仅在你重新定位后的第一次推送时才需要。
在 Git 中重新考虑更新分叉仓库的事实
重新考虑那些克隆了你的仓库的人对上游
以及你的时间、工作和努力。
当你不确定要提取或更新的内容时,请始终创建一个分支。
你有备份仓库吗?你做分支吗?删除临时分支比重新处理你已经做过的东西更容易。
因此,在将其应用到你的实际仓库之前,请先练习本教程以熟悉这些步骤并习惯什么有效,什么无效。