而不是做:
git push origin --all && git push nodester --all && git push duostack --all
Run Code Online (Sandbox Code Playgroud)
有没有办法只用一个命令来做到这一点?
谢谢 :)
Ari*_*zis 273
创建一个all
包含多个repo URL 的远程名称:
git remote add all origin-host:path/proj.git
git remote set-url --add all nodester-host:path/proj.git
git remote set-url --add all duostack-host:path/proj.git
Run Code Online (Sandbox Code Playgroud)
然后就是git push all --all
.
这是它的样子.git/config
:
[remote "all"]
url = origin-host:path/proj.git
url = nodester-host:path/proj.git
url = duostack-host:path/proj.git
Run Code Online (Sandbox Code Playgroud)
wea*_*ish 223
git remote | xargs -L1 git push --all
Run Code Online (Sandbox Code Playgroud)
替换master
为您要推送的分支.
git remote | xargs -L1 -I R git push R master
Run Code Online (Sandbox Code Playgroud)
git config --global alias.pushall '!git remote | xargs -L1 git push --all'
Run Code Online (Sandbox Code Playgroud)
Running git pushall
现在将所有分支推送到所有远程.
Men*_* Lu 71
如果你想总是推送到repo1,repo2和repo3,但总是只从repo1拉,请设置远程'origin'为
[remote "origin"]
url = https://exampleuser@example.com/path/to/repo1
pushurl = https://exampleuser@example.com/path/to/repo1
pushurl = https://exampleuser@example.com/path/to/repo2
pushurl = https://exampleuser@example.com/path/to/repo3
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
在命令行配置:
$ git remote add origin https://exampleuser@example.com/path/to/repo1
$ git remote set-url --push --add origin https://exampleuser@example.com/path/to/repo1
$ git remote set-url --push --add origin https://exampleuser@example.com/path/to/repo2
$ git remote set-url --push --add origin https://exampleuser@example.com/path/to/repo3
Run Code Online (Sandbox Code Playgroud)
如果你只是想从拉repo1
却推到repo1
和repo2
特定分支specialBranch
:
[remote "origin"]
url = ssh://git@aaa.xxx.com:7999/yyy/repo1.git
fetch = +refs/heads/*:refs/remotes/origin/*
...
[remote "specialRemote"]
url = ssh://git@aaa.xxx.com:7999/yyy/repo1.git
pushurl = ssh://git@aaa.xxx.com:7999/yyy/repo1.git
pushurl = ssh://git@aaa.xxx.com:7999/yyy/repo2.git
fetch = +refs/heads/*:refs/remotes/origin/*
...
[branch "specialBranch"]
remote = origin
pushRemote = specialRemote
...
Run Code Online (Sandbox Code Playgroud)
请参阅https://git-scm.com/docs/git-config#git-config-branchltnamegtremote.
小智 17
作为CLI的替代编辑.git/config文件,您可以使用以下命令:
# git remote add all origin-host:path/proj.git
# git remote set-url --add all nodester-host:path/proj.git
# git remote set-url --add all duostack-host:path/proj.git
Run Code Online (Sandbox Code Playgroud)
这同样git push all --all
适用于此.
你已经完成了与答案#1相同的完成.您刚刚使用命令行而不是原始编辑配置文件.
归档时间: |
|
查看次数: |
31430 次 |
最近记录: |