git项目上传到多个仓库

git项目上传到多个仓库

场景:需要将一个项目上传到两个不同的仓库,例如 github 和 gitlab。

看完下面 git 命令操作,可以随意组合 pull 和 push 到多仓库。

使用 git remote [-v] 查看远程仓库

# 一般远程仓库都为 origin
git remote
> origin    

# -v(verbose) 查看
git remote -v
# git pull 默认拉取的 仓库 url
> origin git@github.com:XXX/xxx.git (fetch)
# git push 默认推送的 仓库 url
> origin git@github.com:XXX/xxx.git (push)

使用 git remote set-url –add origin(github) new_url 新增仓库

# 这个命令可以为项目建立与远程仓库的连接,注意这里没有 --add
git remote set-url origin new_url       --(1)

# 这里加上 --add 可以为 origin 新增一个仓库
git remote set-url --add origin another_new_url         --(2)

# 若这里将 origin 替换为 github 则是为新增仓库设置一个别名
git remote set-url --add github another_new_url         --(3)
  • 从某一项目拉取,同时向两个项目推送

    使用 (1)(2) 组合可以为 origin 仓库设置两个仓库,使用 pull 命令拉取的是上边查看的 origin (fetch) 仓库的代码,push 则可以同时向两个仓库推送代码 ,此时当前项目下 .git 文件里的 config 文件配置如下:

    [remote "origin"]
      url = git@gitee.com:XXX/xxx.git
      fetch = +refs/heads/*:refs/remotes/origin/*
      url = git@github.com:ZZZ/zzz.git
    

    此时 pull 和 push 命令如下使用:

    # 默认拉取 origin
    git pull
    > Already up-to-date.
    
    # 同时推送到两个仓库
    git push
    > Everything up-to-date
    > Everything up-to-date
    
  • 拉取某一项目,推送到某一项目

    使用 (1)(3) 组合可以设置两个仓库 origin 和 github,使用 pull 命令拉取某一仓库的代码,push 也可以向某一仓库推送代码 ,此时当前项目下 .git 文件里的 config 文件配置如下:

    [remote "origin"]
      url = git@gitee.com:XXX/xxx.git
      fetch = +refs/heads/*:refs/remotes/origin/*
    [remote "github"]
      url = git@gitee.com:ZZZ/zzz.git
    

    此时 pull 和 push 命令如下使用:

    # 默认拉取的是 origin
    git pull [origin]
    
    # 从 github 仓库拉取代码
    git pull github
    
    # 默认拉取的是 origin 
    git push [origin]
    
    # 从 github 仓库拉取代码
    git push github
    
posted @ 2020-07-07 21:15  GankByMY  阅读(416)  评论(0编辑  收藏  举报