Loading... # 如何保持与 fork 仓库同步 # 前言 当 fork 的仓库有了新的 commit 后,则与出现与原仓库不一致的情况,而 GitHub 不会自动同步变化,最简单的方式是直接 delete 掉 fork 的仓库,**重新 fork **,现提供一个新的思路。 > 删除,重新 fork 应当是最后的选择。 # 准备 git bash,Windows 10 为了简化教程,**现做出一些规定** * 被 fork 的仓库称为 A 库 * fork 出来的库称为 B 库 * 本地的仓库称为 C 库 # 步骤 > 本质上是增加个上游的 remote,fetch 合并到本地,然后同步推送到自己 fork 的远程仓库 ## 添加 upstream 1. cd 到 git 文件夹,检查远程仓库路径 ```bash git remote -v ```  2. 只有两行就代表只有 B 库,因此需要添加 upstream,一般添加一次后面无需再重复 ```bash git remote add upstream https://github.com/upstreamName/repo.git ``` 1. 再次重复 1 中的动作  2. 执行 `git status` 检查本地是否有更改,使 C 库与 B 库保持一致,减少不必要的冲突。 ## merge 1. 执行命令 `git fetch upstream` 抓取 A 库最新更新到 C 库 2. 执行 `git checkout branchName` 切换到想调整的 C 库分支 3. 执行 `git merge upstream/branchName` 将 fetch 的 A 库与 C 库对应的分支合并 4. 执行 `git status` 查看状态, `git push origin branchName` 将修改推送到 B 库,完全 B 库与 A 库的同步 ## 参考 https://github.com/selfteaching/the-craft-of-selfteaching/issues/67 最后修改:2023 年 03 月 27 日 10 : 42 PM © 禁止转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付