Как я могу установить свой .git/config, чтобы смочь продвинуть к / получение по запросу из нескольких удаленных репозиториев?

Хорошо, у меня есть три различных компьютера, от которых я работаю, и прямо сейчас их конфигурации все отличаются, таким образом, я должен продвинуть/вытянуть определенное относительно каждого и его очень надоедливого. То, что я хочу сделать, имеют ОДИН файл конфигурации, который я могу использовать для всех трех, которые позволят мне делать следующее:

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?

6
задан Paŭlo Ebermann 23 August 2011 в 17:05
поделиться

1 ответ

Прежде всего, существует три уровня из файлов конфигурации :

  • локальная конфигурация для вашего текущего репо
  • локальная конфигурация для вашего текущего пользователя (домашний каталог)
  • config local для вашей системы

Вы можете определить столько адресов удаленного репо, сколько захотите, и вы можете сделать это на уровне пользователя, при условии, что вы синхронизируете этот конфигурационный файл с 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 ) для вашего файла конфигурации пользователя, все готово.

5
ответ дан 17 December 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: