Java工具篇-Git 基于IDEA管理的本地仓库同时关联多个远程仓库

Git关联多个远程仓库


首先先来谈谈我遇到问题的场景,为什么我需要要关联多个仓库?

我在参与一个开源项目时,是通过fork源仓库,我是通过pr(pull request)的方式更新自己的仓库和提交代码。
操作过程如图:
在这里插入图片描述
我原来的这种方式是提交我的代码到自己的远程仓库,然后提pr给开源仓库,而拉代码我一般是先拉到我的远程仓库,然后再更新我的本地仓库(当然也可以直接拉源仓库的代码,但是这样需要用命令拉,需要copy地址)。这个过程都需要经过一个中间仓库,很麻烦。

并且,我在提代码的时候发生了这样的问题:
我的代码提交到自己的远程仓库,在这个时候源仓库更新了,再从自己的仓库提到源仓库时发生了冲突,并且没法在线合并,就尬在这里了。之后我根据github给的提示,先拉到自己的本地仓库合并好再提交代码,结果可能是我操作不好导致没法合并了,甚至都给一位特别厉害的大佬都整懵了,最后的解决方式是重新拉代码。

为了避免再次出现这种情况,我就在本地仓库关联多个远程仓库。

关联多个仓库的好处有:

  • 在开源项目中可以更加方便地push/pull代码
  • 可以方便同时提交代码到多个代码托管仓库,比如同时把代码提交到github和码云

具体的流程如图:
在这里插入图片描述
我是通过IDEA关联两个仓库的!在关联两个仓库之后,我就可以从源仓库pull代码,向自己的仓库push代码,然后从自己的远程仓库提pr,这样的单向流程就清晰很多,能避免很多问题,结合IDEA使用效率会非常高。

IDEA配置多个远程仓库及其使用方式

  1. 首先在git相关的菜单中找到Remotes

在这里插入图片描述

  1. 在弹出的填写卡中添加远程地址并起一个合适的名字

在这里插入图片描述

  1. 添加好后我们可以打开git面板(我感觉这个很好用,特别方便) ,这里可以看到配置好的远程仓库

在这里插入图片描述
带Head的表示这个远程仓库是本地仓库的主远程仓库

  1. 我们可以选中远程分支,右键选择checkout就可以切换到远程分支,当然也可以new branch以远程分支为模板新建一个本地分支
    在这里插入图片描述

  2. 如何拉代码呢?

找到git的pull选项
在这里插入图片描述

在这里插入图片描述
在IDEA的右上角还有快捷的pull和push,下回在这里拉就可以。

  1. 如何推代码?

我们可以在git选项卡选择本地分支右键push
在这里插入图片描述

我们可以在这里选择仓库和分支
在这里插入图片描述
当然通过这种方式, IDEA可以同时提交代码给多个远程仓库,如gitee、github

  1. 最后在把自己的代码在github上提pr就可以了
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,可以将一个本地 Git 仓库关联多个远程仓库。你可以按照以下步骤进行操作: 1. 首先,在本地创建一个空的 Git 仓库,或者进入已有的 Git 仓库目录。 2. 打开终端或命令行界面,使用 `git remote add` 命令来分别关联多个远程仓库。例如,如果你要关联的第一个远程仓库的名称为 "origin",远程仓库的 URL 为 "https://github.com/your-username/your-repo.git",则可以运行以下命令: ``` git remote add origin https://github.com/your-username/your-repo.git ``` 如果你要关联的第二个远程仓库的名称为 "second",远程仓库的 URL 为 "https://github.com/your-username/second-repo.git",则可以运行以下命令: ``` git remote add second https://github.com/your-username/second-repo.git ``` 这里的 "origin" 和 "second" 是远程仓库的名称,你可以根据需要自定义。 3. 确认关联成功后,你可以使用 `git remote -v` 命令来查看已关联远程仓库列表。例如,运行以下命令: ``` git remote -v ``` 你将看到类似以下输出: ``` origin https://github.com/your-username/your-repo.git (fetch) origin https://github.com/your-username/your-repo.git (push) second https://github.com/your-username/second-repo.git (fetch) second https://github.com/your-username/second-repo.git (push) ``` 这表示你已成功关联了两个远程仓库。 4. 当你需要将代码推送到特定的远程仓库时,可以使用 `git push` 命令加上远程仓库的名称。例如,要将代码推送到 "origin" 远程仓库的 master 分支,可以运行以下命令: ``` git push origin master ``` 要将代码推送到 "second" 远程仓库的 develop 分支,可以运行以下命令: ``` git push second develop ``` 请注意,上述命令中的 "your-username" 应替换为你的 GitHub 用户名。你可以根据需要设置不同的远程仓库名称和分支名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值