我的个人博客:https://www.wuyizuokan.com

很早以前关注了一个项目:

[email protected]:halo-dev/halo.git

Halo,一个不错的博客系统。

想学习一下其中的源码,当时就 fork 了一份到自己的账号下面来,然后一直就没有动过了。。。。

fork 到自己仓库里的 git 项目地址:

[email protected]:VelonicaScofield/halo.git

今天突然又想起来了,就想拿出来看看,但是已经过了很久了,Halo 作者已经更新了很多新特性了,难道还要守着老代码看?肯定是要最新的嘛。

这个就涉及到一个问题,怎么把别人的库上的代码更新到自己的远程库上去?我在公司使用 git 的时候也在考虑这个问题,但是公司电脑上装了乌龟,用起来太爽了,就没关注过用 git 命令怎么处理。

其实在公司的时候,我根据乌龟上打印的 git 命令猜测了一下,应该差不多,今天终于有机会实践一下了。

首先,在本地代码中,用 git remote -v 命令查看当前本地关联的远程分支有哪些,一般只会有两个 origin 远程分支,这里我已经加上了 remote 远程分支。

然后使用:git remote add <remoteName> <remoteAddress> 把别人的远程分支加上来,如:

git remote add remote [email protected]:halo-dev/halo.git

使用 git remote -v 就是这样子了:

然后从这个 remote 远程分支上拉去 master 分支的代码,git pull <remoteName> <branchName>,如:

git pull remote master

最后把这个分支的代码推送到你的远程仓库上去,git push <remoteName><branchName>

git push origin master

这样就 OK 了,去自己的仓库上面看看,已经和 Halo 作者的仓库保持一致了:

其实这里只是解决了最简单的情况,如果你修改了代码,你的仓库中的代码可能就和别人的有冲突了,这时候如何解决呢?可能要用 merge 命令解决吧,后面我再试试。

又或者如果别人新增了一个分支,上面的操作都是把别人远程仓库上的一个分支的代码往自己的分支上更新,如果别人新增了一个分支,怎么把这个新的分支更新过来呢?可能涉及创建分支的动者,后面我也试试看。