6

好的,我有三台不同的计算机供我工作,现在它们的配置都不同,所以我必须在每台计算机上推/拉某个,这非常麻烦。我想要做的是拥有一个配置文件,我可以将其用于所有三个,这将允许我执行以下操作:

git push unfuddle
git pull heroku
git push unfuddle
git pull heroku

而且我是 git 新手,所以我知道也许我需要heroku master“he​​roku origin”或其他东西?

这是我的配置文件现在的样子:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@heroku.com:HEROKU-APP.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "unfuddle"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@UNFUDDLE-APP.unfuddle.com:UNFUDDLE-APP/UNFUDDLE-APP.git

显然,更改了 git url 以保护无辜者。我应该改变什么,以便我可以轻松地推入/拉出这两个存储库?

4

1 回答 1

5

首先,配置文件分为三个级别

  • 配置到当前仓库的本地
  • 当前用户的本地配置(主目录)
  • 本地配置到您的系统

您可以定义任意数量的远程仓库地址,并且可以在用户级别执行此操作,前提是您将该配置文件从 destop 同步到 destop

git remote add origin1 git+ssh://remote.location/git/repository1.git
git remote add origin2 git+ssh://remote.location/git/repository2.git
git remote add origin3 git+ssh://remote.location/git/repository3.git

如果这些命令仅在您当前的repo配置文件中添加远程地址,您可以手动将它们移动到您当前的用户配置文件中。

但是在每个 repo 上,您需要为正确的 repo 定义远程跟踪分支

git branch --set-upstream master origin1/master

(从Git1.7.0开始,比git config branch之前​​要做的两个都快)

因此,如果您为您的用户配置文件设置了正确的同步机制(例如Dropbox),则一切就绪。

于 2010-05-16T09:10:53.320 回答