配置两个 git 远程仓库到对应的两个本地分支

935人浏览 / 0人评论

说明

从 Gitee 克隆了一个名叫 qiwen-file 的开源项目到本地,基于这个开源项目做了一些自定义修改,然后推送到 GitLab,这样本地是没问题的。但是当更换其他电脑后,既需要跟进 Gitee 上的提交,又要保留 GitLab 上自己做的修改,就需要让这两个远程仓库在本地有对应的分支。

操作

初始化

# 克隆 Gitee 上的原始仓库
git clone https://gitee.com/qiwen-cloud/qiwen-file.git

# 添加 GitLab 远程仓库并命名为 gitlab
git remote add gitlab https://gitlab.jbritian.com/root/qiwen-file.git

# 从 GitLab 远程仓库获取分支
git fetch gitlab

# 创建 GitLab master 分支的本地分支、命名为 gitlab 并切换
git checkout -b gitlab gitlab/master

更新

# 当 Gitee 上的原始仓库有新的提交时,切换到本地该远程仓库对应的 master 分支
git checkout master

# 更新到最新的提交
git fetch origin

# 切换到 GitLab 本地分支
git checkout gitlab

# 合并 Gitee 的 master 分支到本地 gitlab 分支
git merge master

# 推送到 GitLab 远程仓库
git push gitlab refs/heads/gitlab:master

问题

如果执行 git merge master 时报错:fatal: refusing to merge unrelated histories,执行:git merge master  --allow-unrelated-histories,然后在IDEA中合并代码:

全部评论