美文网首页
git 本地库同时与多个远程库互相同步(小计)

git 本地库同时与多个远程库互相同步(小计)

作者: 将代码写成诗 | 来源:发表于2019-10-13 17:34 被阅读0次
    查看本地关联的所有库
    • git remote -v
    gitee   git@gitee.com:ponycrossriver/learngit.git (fetch)
    gitee   git@gitee.com:ponycrossriver/learngit.git (push)
    github  git@github.com:PonyCrossingTheRiver/learngit.git (fetch)
    github  git@github.com:PonyCrossingTheRiver/learngit.git (push)
    
    删除本地关联的库
    • git remote rm origin(远程库名称)
    关联远程库 以码云为例
    • git remote add origin(关联库的名字) git@gitee.com:你自己在码云的地址/你的仓库.git

    当我们将本地库同时关联github和码云时,有时会出现问题,报这个错
    fatal: refusing to merge unrelated histories
    出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。

    查阅了一下资料,发现可以在pull命令后紧接着使用--allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)。

    git pull gitee master --allow-unrelated-histories
    
    editByWpp.png

    以上是将远程仓库的文件拉取到本地仓库了。
    紧接着将本地仓库的提交推送到远程github仓库上,使用的命令是:

    $ git push <远程主机名> <本地分支名>:<远程分支名>
    也就是
    $git push origin master:master
    提交成功。
    
    • pull
      git pull 命令基本上就是 git fetch 和 git merge 命令的组合体,Git 从指定的远程仓库中抓取内容,然后马上尝试将其合并进你所在的分支中。

    从远程仓库中获得数据,可以执行:

    $ git fetch [remote-name]
    

    这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。
    但是注意的是 git fetch 并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。
    如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。
    由于fetch命令后还要再做一步merge命令的操作,所以使用 git pull 命令来自动的抓取然后合并远程分支到当前分支。 (相当于一次执行fetch加merge命令)这可能会是一个更简单或更舒服的工作流程。

    相关文章

      网友评论

          本文标题:git 本地库同时与多个远程库互相同步(小计)

          本文链接:https://www.haomeiwen.com/subject/fthkmctx.html