Git关联多个远程仓库
首先先来谈谈我遇到问题的场景,为什么我需要要关联多个仓库?
我在参与一个开源项目时,是通过fork源仓库,我是通过pr(pull request)的方式更新自己的仓库和提交代码。
操作过程如图:
我原来的这种方式是提交我的代码到自己的远程仓库,然后提pr给开源仓库,而拉代码我一般是先拉到我的远程仓库,然后再更新我的本地仓库(当然也可以直接拉源仓库的代码,但是这样需要用命令拉,需要copy地址)。这个过程都需要经过一个中间仓库,很麻烦。
并且,我在提代码的时候发生了这样的问题:
我的代码提交到自己的远程仓库,在这个时候源仓库更新了,再从自己的仓库提到源仓库时发生了冲突,并且没法在线合并,就尬在这里了。之后我根据github给的提示,先拉到自己的本地仓库合并好再提交代码,结果可能是我操作不好导致没法合并了,甚至都给一位特别厉害的大佬都整懵了,最后的解决方式是重新拉代码。
为了避免再次出现这种情况,我就在本地仓库关联多个远程仓库。
关联多个仓库的好处有:
- 在开源项目中可以更加方便地push/pull代码
- 可以方便同时提交代码到多个代码托管仓库,比如同时把代码提交到github和码云
具体的流程如图:
我是通过IDEA关联两个仓库的!在关联两个仓库之后,我就可以从源仓库pull代码,向自己的仓库push代码,然后从自己的远程仓库提pr,这样的单向流程就清晰很多,能避免很多问题,结合IDEA使用效率会非常高。
IDEA配置多个远程仓库及其使用方式
- 首先在git相关的菜单中找到Remotes
- 在弹出的填写卡中添加远程地址并起一个合适的名字
- 添加好后我们可以打开git面板(我感觉这个很好用,特别方便) ,这里可以看到配置好的远程仓库
带Head的表示这个远程仓库是本地仓库的主远程仓库
- 我们可以选中远程分支,右键选择checkout就可以切换到远程分支,当然也可以new branch以远程分支为模板新建一个本地分支
- 如何拉代码呢?
找到git的pull选项
在IDEA的右上角还有快捷的pull和push,下回在这里拉就可以。
- 如何推代码?
我们可以在git选项卡选择本地分支右键push
我们可以在这里选择仓库和分支
当然通过这种方式, IDEA可以同时提交代码给多个远程仓库,如gitee、github
- 最后在把自己的代码在github上提pr就可以了
版权归原作者 凤文Studying 所有, 如有侵权,请联系我们删除。