4

Github/Gitlab 等远程Git仓库fork后与原仓库同步

 3 years ago
source link: https://www.bugcatt.com/archives/1885
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

看到这篇文章, 说明你也是个勤奋的贡献者🤝🤝. 同学们在贡献代码 PR 前, 都需要将原仓库fork下来. 但有时原仓库的代码比我们fork后的代码新, 并且github目前似乎并未提供自动fork的机制. 本篇文章就来记录下Github/Gitlab 等远程Git仓库fork后与原仓库同步的方法.

github等远程仓库的原仓库代码有大量变更, 需要将自己fork下来的仓库和原仓库同步.

需具备的条件

本篇教程假定:

  • 你已经掌握基础的CMD/Bash/Shell终端命令.
  • 你已经掌握了基本的Git命令以及Github操作.
  • 你已经有了待同步的、fork下来的代码仓库.
本篇教程将会尽可能减少废话, 只放干货. 所以请你仔细阅读并严谨遵循教程步骤!

查看当前远程仓库配置

打开终端, cd至仓库目录内.

输入以下命令以查看当前的远程仓库:

git remote -v

正常情况下, 会返回类似于:

git remote -v
origin  https://github.com/你的用户名/你的仓库名.git (fetch)
origin  https://github.com/你的用户名/你的仓库名.git (push)
如果你未返回数据, 请检查你的本地仓库是否关联了远程仓库. 若格式和上面不一致, 请检查你的仓库状态.

绑定上游远程仓库

紧接着输入以下命令行, 绑定上游仓库:

git remote add upstream "https://github.com/上游用户名/上游仓库名.git"

再次查看当前仓库:

git remote -v

正常情况下, 会返回类似于:

git remote -v
origin  https://github.com/你的用户名/你的仓库名.git (fetch)
origin  https://github.com/你的用户名/你的仓库名.git (push)
upstream        https://github.com/上游用户名/上游仓库名.git (fetch)
upstream        https://github.com/上游用户名/上游仓库名.git (push)

拉取上游仓库代码

输入以下命令, 拉取上游仓库代码:

git pull upstream master
至此, 你的本地仓库已经与原仓库同步完成啦!

此后, 你可以通过正常的提交推送, 使自己的fork仓库变为最新的代码. 完成后, 又可以愉快的进行PR了!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK