一般来说最佳方法是给 origin 设两个地址:
git remote set-url origin --add <https://github.com/USERNAME/REPO1.git>
git remote set-url origin --add <https://github.com/USERNAME/REPO2.git>
在 .git/config 里得到:
...
[remote "origin"]
url = <https://[email protected]/USERNAME/REPO1.git>
url = <https://[email protected]/USERNAME/REPO2.git>
...
[branch "master"]
remote = origin
...
然后 git push origin master
就会同时推送到两个 repo,而 git pull origin master
会从两个 repo 里取得更新。
当然 URL 和 repo 不一定非要是 GitHub 上的,具有两个 url 的 remote 也不一定要是 origin,比如可以设置成 all。
你想从 repo1 pull,但是 push 的时候要推送到 repo1 和 repo2。
git remote set-url origin --add <https://github.com/USERNAME/REPO1.git>
git remote set-url origin --push --add <https://example.com/USERNAME/REPO2.git>
在 .git/config 里得到
...
[remote "origin"]
url = <https://[email protected]/USERNAME/REPO1.git>
pushurl = <https://[email protected]/USERNAME/REPO2.git>
...
[branch "master"]
remote = origin
...
然后 git push origin master
就会同时提交到两个 repo,而 git pull origin master
只会从repo1 里取得更新。