有两个远程仓库,一个叫learning 一个叫 egg_learn
需要把learning仓库的mater分支作为主分支,把egg_learn仓库的master分支合并到learning仓库的master分支。

流程如下:
在learning仓库的本地把egg_learn添加为远程仓库;
再把egg_learn的master分支拉到learning仓库的本地重命名为needMerge分支(名字不一定是needMerge,但一定不能为master);
在learning仓库的本地master分支上合并needMerge分支;
最后push到learning仓库的远程origin仓库。

  1. 克隆主仓库代码
    git clone git@github.com:user/learning.git
    (
    此时进入learning目录,
    git remote
    image.png
    只有一个远程仓库origin
    )
  2. 将 egg_learn 作为远程仓库,添加到 learning 中,设置别名为 needMerge
    git remote add needMerge git@github.com:user/learn_egg.git
    (
    此时git remote
    image.png
    有两个远程仓库origin、needMerge
    )
  3. 从 远程仓库egg_learn中拉取数据到本仓库
    git fetch needMerge
    image.png
  4. 将 egg_learn 仓库拉取的 master 分支作为新分支 checkout 到本地,新分支名设定为 egg
    git checkout -b egg needMerge/master
    (此时已经创建了本地的egg分支,且身处egg分支)
    image.png
  5. 切换回 原learning仓库 的 master 分支
    git checkout master
  6. 将 egg 合并入 远程learning仓库 的 master 分支
    git merge egg

如果第 6 步报错 fatal: refusing to merge unrelated histories
执行下面命令 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
git merge egg --allow-unrelated-histories
image.png

  1. 推送新仓库代码到新仓库远程分支 (在master分支上执行git push )
  2. 删除远程分支needMerge
    git remote remove needMerge
    image.png

同步更新到自己的语雀
https://www.yuque.com/dirackeeko/git_note/waai6z


DiracKeeko
125 声望2 粉丝