2010-12-08 2 views
1

Я использую Git для публикации кода GitHub. Это мой первый раз с использованием Git, поэтому я знаю только то, что мне нужно в данный момент. Я использую несколько компьютеров дома, чтобы делать изменения. Могу ли я подталкивать свои изменения с одного компьютера на другой, прежде чем нажимать на GitHub?Git «push» в другое место, кроме «origin»

ответ

3

Вы можете настроить другой пульт, если другой компьютер имеет сервер Git или HTTP работает на нем:

git remote add your-other-computer git://your.other.computer/... 
git push your-other-computer master 

Я считаю, что легче провести только для чтения хранилища по протоколу HTTP на каждом компьютере (по разделяя мой каталог Git через Apache или IIS), затем войдите на другой компьютер и git pull.

+0

Что случилось с использованием ssh? было бы проще, чем хостинг через http – 2010-12-08 22:08:27

+0

Зависит от того, где я есть - Windows поставляется с встроенным IIS, и в моей домашней сети мне не нужна безопасность SSH – 2010-12-08 22:09:25

+0

, но HTTP, как правило, медленнее, чем протокол git/ssh. – alternative 2010-12-08 22:20:37

0

Вы можете синхронизировать репозиторий с помощью Dropbox. Это то, что я сейчас делаю, и все работает отлично. Если нет, вы должны использовать один из компьютеров как какой-либо сервер, используя, например, SSH.

1

Вы можете нажать и тянуть от других ваших Git репозиториев, как вы бы на Github ...

git push [remote] [branch] 

Однако вы не можете нажать на извлеченную ветвь в не голом хранилище.

Другими словами, если я хочу, чтобы мои изменения в главной ветке были на моем ноутбуке с моего рабочего стола, и у моего ноутбука уже была проверена главная ветка, Git откажется это сделать. Это должно помешать вам потерять работу, и потому что это навязчиво.

Конечно, если вы запустите голый репозиторий (без рабочего дерева), вы можете нажать на него без каких-либо проблем, связанных с этим, но затем вы не можете действительно работать из этого хранилища, не делая клона и отталкивая назад внутрь.

Dropbox, как предложил Харпион, на самом деле не так уж плох, если вы синхронизируете свои собственные компьютеры. Я знаю некоторых действительно умных разработчиков, которые делали это какое-то время, без проблем.

1

Если ни один из них не является открытым хранилищем, лучше вытащить (или извлечь), чем push, потому что у вас больше контроля над слиянием. По этой причине git не позволит перейти к извлеченной ветке в не-голом репозитории, как указывает Coreyward.

Лучший способ, вероятно, будет создан git daemon на машине вы хотите, чтобы вытащить из, а затем настроить пульт дистанционного управления:

git remote add my-other-repo git://path/to/other/repo 

Затем вы можете вытянуть из этого хранилища:

git checkout branch-you-want-to-be-on 
git pull my-other-repo 
Смежные вопросы