一个项目设置两个Git地址,实现同时推送到两个Git仓库
一个项目设置两个Git地址,实现同时推送到两个Git仓库
方法一
直接给git仓库添加Origin时,可以实现推送到两个仓库,但是需要推送两次,还是记录一下
在已有Git仓库的项目中gitA中添加另一个gitB远端的地址
1
|
git remote add origin2 地址2 // origin2可以自定义
|
先拉取gitB地址的数据
1
|
git pull origin2 master --allow-unrelated-histories (--allow-unrelated-histories是为了解决冲突)
|
把gitA中的内容推送到gitB的地址中
1
|
git push origin2 master
|
至此,我们可以通过推送两次的方法,将一个项目提交到两个git地址了
1
2
|
git push origin master
git push origin2 master
|
但是略繁琐,所以我们通常使用方法2,操作方法2的时候,注意清掉上方操作,删除上面写好的gitB 的远端地址
1
2
3
|
git remote -v // 查看此时的包括两个远程地址
git remote rm origin2 // 删除git B的远程地址
git remote -v //此时应该只有git A的远程地址
|
方法二
给origin 增加一个可以push的地址
1
2
|
git remote set-url --add origin 地址 //给origin添加一个远程push地址,这样一次push就能同时push到两个地址上面
git remote -v //查看是否多了一条push地址(这个可不执行)
|
至此,我们就可以直接一个push,同时推送到两个git地址。
1
|
git push origin master -f // 如果第一次推不上去代码,可以使用强推的方式
|
这样一份代码就可以提交到两个git仓库上了
注意:如果需要删除
1
|
git remote set-url --delete origin 地址
|
方法三
可以通过直接修改 .git\config文件
原内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = 地址
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
|
我们需要添加一个新的remote节点和branch节点就可以实现一次推送更改两个仓库。
添加后
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = 地址
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
url = 地址2
remote = origin
merge = refs/heads/master
|