2009-11-14 4 views
2

У меня есть клон разработки и живой клон хранилища git, отталкиваясь от развития и тянущего к жизни. У меня возникла проблема в том, что файлы конфигурации необходимо изменить, как только они попадут в живую рабочую копию. Все это работало нормально, пока я не изменил структуру одного из моих конфигурационных файлов - когда я пошел, чтобы потянуть его, возникло 2 проблемы:git pull с местными изменениями

  1. Мой конфигурационный файл не был обновлен, поэтому изменения не могли быть привязаны к этому конкретному файлу (я ожидал, что вещи просто будут объединены)
  2. Затем я попытался снова нажать, и увидел, что все было актуально, когда просмотр файла показал, что он явно не был обновлен.

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

ответ

1

Я работал над этим, создавая «живую» ветвь, исключительно для конфигурации и тому подобного. Означает, что вся моя конфигурация может войти туда, затем я проверяю прямую ветку на реальном сервере и вношу изменения в нее в любое время, когда мне нужно, чтобы все было вживую. Думая об этом, я все равно должен был все это сделать - git заставил меня улучшить то, как я это делаю! Спасибо, git.

2

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

Я ответил на это здесь: Is there a way to make TortoiseSVN temporarily ignore versioned files?

(Этот конкретный вопрос упоминает Subversion, но обе проблемы и решения не являются специфическими для какой-либо одной VCS я использую ту же технику для Git репозиториев, тоже.).

+0

Это крутое предложение - я пошел с созданием ветки для локального контента, а затем слияния в эту ветку. На самом деле это намного лучше, чем просто доверять VCS, чтобы знать, что переписать. Большое спасибо за ваш ответ, хотя :) –

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