Git 配置:一个获取和两个推送目的地

Git config: one fetch and two push destinations

我在 Eclipse 中使用 EGit 进行版本控制。我想要两个远程 Git 存储库,一个是 Github,另一个是 Heroku。前者是针对系统开发团队的,后者只是为了部署。我按如下方式设置 git config 文件,但它不适用于两个遥控器。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "github"]
    url = https://github.com/yltang52/airbus.git
    fetch = refs/heads/master:refs/remotes/origin/master
    push = master:refs/heads/master
[remote "heroku"]
    url = https://git.heroku.com/airbus.git
    push = master:refs/heads/master
[branch "master"]
    remote = github
    merge = refs/heads/master

ps。 yltang52 是 git 集线器用户名,airbus 是项目名称。

其中一个问题是Git建议将.git目录放在项目根目录之外,我现在就是这样做的。但是Heroku要求将目录放在项目根目录下。

当我在项目根目录下创建一个.git目录时(根据Heroku的部署流程),我就可以将项目部署到Heroku中了。但是当我尝试提交并推送到 Github 时,我的所有文件都被标记为提交。显然,两个 .git 副本不能一起工作。

我想将 Heroku 部署集成到 EGit。有什么解决办法吗?

直接使用与 Heroku 兼容的 Eclipse 项目会更容易,然后 添加 GitHub 远程仓库引用。

这就是“How to push to multiple remote Git repositories using 1 Eclipse operation (killing 2 birds with 1 stone)”中描述的内容,使用:

这应该会为您提供一个 heroku 应用程序,其中已配置 heroku 远程 url,您可以为其配置那些远程 urls:

您可以同时添加 push url(到 GitHub 存储库和 heroku):

(同样的方式配置Fetch)

从那里,"push to upstream" 将推送到两个: