【Git】如何把别人仓库里面的代码更新到自己的远程仓库上来(无冲突的前提下)
我的个人博客:https://www.wuyizuokan.com
很早以前关注了一个项目:
git@github.com:halo-dev/halo.git
Halo,一个不错的博客系统。
想学习一下其中的源码,当时就fork了一份到自己的账号下面来,然后一直就没有动过了。。。。
fork到自己仓库里的git项目地址:
git@github.com:VelonicaScofield/halo.git
今天突然又想起来了,就想拿出来看看,但是已经过了很久了,Halo作者已经更新了很多新特性了,难道还要守着老代码看?肯定是要最新的嘛。
这个就涉及到一个问题,怎么把别人的库上的代码更新到自己的远程库上去?我在公司使用git的时候也在考虑这个问题,但是公司电脑上装了乌龟,用起来太爽了,就没关注过用git命令怎么处理。
其实在公司的时候,我根据乌龟上打印的git命令猜测了一下,应该差不多,今天终于有机会实践一下了。
首先,在本地代码中,用git remote -v命令查看当前本地关联的远程分支有哪些,一般只会有两个origin远程分支,这里我已经加上了remote远程分支。
然后使用:git remote add <remoteName> <remoteAddress> 把别人的远程分支加上来,如:
git remote add remote git@github.com: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命令解决吧,后面我再试试。
又或者如果别人新增了一个分支,上面的操作都是把别人远程仓库上的一个分支的代码往自己的分支上更新,如果别人新增了一个分支,怎么把这个新的分支更新过来呢?可能涉及创建分支的动者,后面我也试试看。