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
版权声明:本文为weixin_39400721原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。