配置两个 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中合并代码:
全部评论