Хорошо, у меня есть три различных компьютера, от которых я работаю, и прямо сейчас их конфигурации все отличаются, таким образом, я должен продвинуть/вытянуть определенное относительно каждого и его очень надоедливого. То, что я хочу сделать, имеют ОДИН файл конфигурации, который я могу использовать для всех трех, которые позволят мне делать следующее:
git push unfuddle
git pull heroku
git push unfuddle
git pull heroku
И я плохо знаком с мерзавцем, таким образом, я знаю, что, возможно, мне нужно heroku master
или 'источник heroku' или что-то?
Вот то, на что мой файл конфигурации похож прямо сейчас:
[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
Очевидно, URL мерзавца были изменены для защиты невинного. Что я должен изменить так, чтобы я мог легко продвинуть и вытянуть к/от обоим из этих repos?
Прежде всего, существует три уровня из файлов конфигурации :
Вы можете определить столько адресов удаленного репо, сколько захотите, и вы можете сделать это на уровне пользователя, при условии, что вы синхронизируете этот конфигурационный файл с 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
Если эти команды добавят удаленный адреса только в вашем текущем файле конфигурации репозитория , вы можете вручную переместить их в файл конфигурации текущего пользователя .
Но для каждого репо вам нужно определить свою ветку удаленного отслеживания для правильного репо:
git branch --set-upstream master origin1/master
(из Git1.7.0, быстрее, чем две ветки конфигурации git
, которые вы приходилось делать раньше)
Итак, если у вас есть правильный механизм синхронизации (например, dropbox ) для вашего файла конфигурации пользователя, все готово.