Что я хочу сделать: На моем (ssh удаленно доступном) университетском компьютере я работаю над проектом, который я поставил под git контролем источника (git init
, затем git commit -a
после каждое изменение, все отлично работает). Теперь я хочу захотеть работать над этим проектом на своей частной машине дома. Должно быть легко, так как git является распределенным vcs, правильно?
Я прочитал git учебник, в котором предлагается сделать git pull
в университете, чтобы получить изменения, выполненные дома. Это не сработает, поскольку моя машина дома недоступна. Поэтому я подумал, что я сделаю git push
дома. Это работает, но это сложно (требуется git reset
в университете впоследствии и т.д.), поскольку не-голые репозитории не предназначены для нажатия.
Вопрос 1: Есть ли более простой способ, чем добавление дополнительного голого репозитория в мою установку (что означало бы, что у меня было: (1) "основной" голый репозиторий, (2) университет рабочая копия, (3) домашняя рабочая копия)?
<Rant> Если мне действительно нужна эта настройка, я мог бы остаться с SVN. </Rant>
Вопрос 2: Если эта настройка действительно нужна, как мне создать этот голый репозиторий (git clone --bare
, я думаю) и сделать его "основным" репозиторием, то есть сообщить рабочим копиям что git push
предполагается туда.
PS: Я знаю, что вокруг него появляется плакат post-receive, который позволяет вам входить в не-голые репозитории. Я попробовал, но это не сработало, так как версия git на университетском компьютере довольно старая (1.5.5.6) и пропускает некоторые команды, используемые крюком. Обновление не является вариантом, и я предпочел бы решение без сторонних скриптов.