关于git的仓库同步指南

40次阅读

共计 1003 个字符,预计需要花费 3 分钟才能阅读完成。

关于 git 的仓库同步指南
前言
我们都知道,GitHub 是一个方便多人协作的托管平台. 如何将本地 local 仓库、个人远程 origin 仓库 (GitHub 上的仓库) 和远程 upstream 仓库 (在 GitHub 上 fork 别人的仓库) 进行同步是多人协作的前提. 那么我们就来看一下, 过程该如何进行
情景描述
前提:A 与 B 两人协作管理同一个 upstream 远程仓库, 且本次操作 A、B 同时 fork.
场景一:
现实中我们经常出现这种问题:A fork 了远程 upstream 仓库, 几天之后 upstream 仓库更新了新的版本, 此时 A 的个人仓库与 origin 仓库已经落后, 如果这个时候 A 在落后的版本上继续 commit, 就会频频出错, 那么 A 就需要更新本地仓库, 在最新的基础上再操作.
场景二:
A 在最新的版本上进行了自己的修改, 并且已经 push 到 upstream 仓库, 此时 upstream 版本已被 A 更新. B 想要同步 A 的此次更新需要 fetch 远程 upstream 仓库(此时 local 已更新), 再将 local 仓库 push 到本地 origin 仓库. 完成同步的操作.
图形详解

实际操作
场景一解决方法
获取代码库 1、fork 别人的仓库到自己的 GitHub
2、将 fork 到的仓库 clone 到本地 local
同步更新代码因为 fork 并不能将所有东西都复制过来,这个操作只是获取到了路径,所以此时 local 仓库和 upstream 远程仓库并不同步,想要同步需先 fetch(见操作 3)
3、使 A local 仓库和远程 upstream 仓库的 master 分支同步 $ git fetch upstream$ git rebase upstream/master4、A 在本地对代码进行修改之后,在 SmartGit 进行 commit 提交操作,然后 push 到自己的 origin 仓库
$ git push origin master5、去 GitHub 提 pr

到此就已经完成了所有操作,如果原作者同意你的 pr 申请,你就成功的对 upstream 的代码进行了修改
场景二解决方法
6、B 想要更新到 upstream 仓库的最新版本,就必须在终端进行 fetch,rebase 等操作(同上 3)7、B 的 local 仓库已同步, 需要将最新版本 push 到 B 自己的 origin 仓库, 使 origin 仓库更新
结语
好啦, 到这里我们就能清楚的理解仓库同步的重要性以及如何同步各个仓库了. 感谢阅读, 下期再会.

原创作者: 田晨晨、赵笑漫
日 期:2019 年 1 月 31 日

正文完
 0