2015-10-06 3 views
1

Итак, у меня есть репо GitHub с ведущей ветвью и промежуточной веткой, у них есть отдельные файлы конфигурации для развертывания в разных местах. Я надеялся, что, когда я выполню запрос на перенос на промежуточной ветке назад к мастеру, я мог бы каким-то образом исключить два файла конфигурации, которые я хочу оставаться разными в обеих ветвях.Различные файлы конфигурации в GitHub Repo Branch

Как я могу достичь этого самым простым способом? Постоянное решение было бы здорово, но из того, что я читал до сих пор, он будет включать в себя «тире» и «поп»? Или, может быть, просто выполнение «отмены»/«возврата» после перезаписывания 2 файлов конфигурации?

Это не идеальное решение для меня, так как это приведет к тому, что Travis-CI начнет два отдельных процесса компиляции/развертывания.

Ник.

ответ

3

Вы можете сделать это, используя стратегию ours. Создайте файл с именем .gitattributes в ваших обеих ветвей и добавить следующее содержание в нем:

path/to/your/config.json merge=ours 

Затем совершают свои самые .gitattributes файлы:

git add . 
git commit -m 'Added gitattributes' 
+0

Так что просто так я понимаю, это правильно, что заставляет каждую ветвь сохранить свою версию этого файла? И, наконец, глупый вопрос noob, прежде чем я ошибаюсь, если файл находится в корне моего репо, будет ли путь только «config.json merge = ours» – Nick

+0

@Nick *, который заставляет каждую ветвь поддерживать свои собственные версия этого файла? * - точно! Это даже работает, когда вы хотите что-то слить, но не хотите переопределять ваши файлы по какой-либо причине: 'git merge some-branch -s ours'. И да, если ваш файл находится в корне, просто поместите 'config.json merge = ours'. –

+0

@Nick Кроме того, не забудьте отметить ответ, если он вам поможет (я вижу, у вас много вопросов без каких-либо вопросов) ... ':-)' –

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