我想做一个git push,并且应该将更改推送到两个不同的来源。有没有办法用 git 的一个命令推送到多个来源?也许是一个不错的钩子?
问问题
180 次
2 回答
2
我使用了两种方法来做到这一点。当我有一个分叉存储库和一个上游远程时,我发现一种方便的方法是使用远程pushurl
上的配置选项。对于起源,它看起来像这样:
[remote "origin"]
url = git@github.com:user/repo.git
pushurl = git@github.com:user/repo.git
pushurl = git@github.com:me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
在分叉存储库的情况下,我使用远程pushurl
中的技巧upstream
,并将其推送到我的分叉和上游存储库。它有助于使主分支保持同步而不必大惊小怪。
我还在我的基础架构上托管的存储库上使用了接收后挂钩,以将它们镜像到其他地方(如 GitHub)。post-receive 钩子如下所示:
nohup git push --mirror git@github.com:user/repo.git &> ~/.mirror.log
然后我推送到我的服务器上的仓库,然后服务器推送到 GitHub 克隆。您需要确保正确设置了 SSH 密钥,但除此之外,这很容易。
于 2012-10-25T23:12:35.147 回答
0
也许将此添加到您的.git/config
[alias]
push2 = ! git push remote1 && git push remote2
于 2012-10-25T20:58:33.533 回答