2012-02-02 3 views
0

Переключение на GitHub и, похоже, не может найти информацию о том, как делать что-то, что я имел обыкновение делать с SVN:Обновление нескольких локальных рабочих копий с использованием одного источника GitHub?

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

Раньше я использовал CornerStone на Mac (просто fwiw/его больше нет) и один обновление от SVN будет обновлять все мои различные локальные «зависимые проекты» (все они одинаковые, кроме одной или двух строк, обычно в файле конфигурации). Я бы рассмотрел неизбежные конфликты и почти всегда отвергал их, при условии, что единственная разница в конфликтующем файле - это моя настройка для тестовых целей, или если что-то новое, я бы объединил его и оставил URL-адрес промежуточной среды или что-то еще, поскольку они мы.

Могу ли я эффективно делать это с помощью GitHub? (желательно, используя GitHub's/Xcode или какой-либо другой клиент Mac GUI?)

Я просмотрел документацию, но, похоже, ничего не могу найти по этому поводу, поэтому любая помощь очень ценится/возможно, это необычно, к большому количеству практически идентичных локальных проектов и всегда отказываться от определенных конфликтов .. :)

ответ

1

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

Однако нет проблем с тем, что вы хотите сделать в git. Вы просто локально делаете несколько клонов вашего репозитория GitHub. В каждом случае вы можете внести свои изменения в эту локальную копию, а затем зафиксировать их. Затем, когда вы хотите обновить из последней версии GitHub, убедитесь, что вы тянете с:

git pull --rebase 

... который будет получать последнюю версию с сервера, а затем попытаться повторно применить фиксации с местным изменения сверху. Если только те части файлов, которые вы совершили, не изменились, также были изменены в новых коммитах GitHub, вы даже не должны разрешать конфликты.

Если вы всегда так тяните, то граф фиксации (история) вашего проекта всегда будет таким же, как и пульт дистанционного управления, но с любыми вашими локальными изменениями, как самые последние коммиты поверх удаленной истории.

(я надеюсь, что GUI клиенты, которые вы используете имеют возможность перебазирования тянуть новые изменения. В противном случае вы можете установить это автоматически произойдет с опцией конфигурации branch.<name>.rebase, где <name> это имя вашего местного отделения.)

+0

Спасибо, читайте дальше --rebase, и это звучит точно, что мне нужно/я определю. дать ему ответ - также нашел этот пост о настройке нескольких локальных проектов на основе того же пульта: http://stackoverflow.com/questions/6270193/multiple-working-directories-with-git (но я собираюсь еще один взгляд на два или около того клиентов Mac GUI - Gitub один кажется довольно простым/далеко, как я вижу, это не делает этого ..) Приветствия! – dsmudger

Смежные вопросы