Я хочу сохранить все мои файлы в git
хранилище с отдельной веткой для каждой машины. У меня есть проблема, которую я не могу решить, что блокирует меня от , используя для этого git
. Я хотел бы знать, как другие люди решили это.Избегайте конфликтов слияния при слиянии мастера с отдельной веткой для каждого хоста
Я собираюсь иметь одну master
ветвь, которая содержит только определения и определения, которые, как предполагается, являются общими для всех ветвей шаблона, например:
export EMAIL="@[email protected]"
export SURFRAW_google_results=1000
Я заменит @[email protected]
с моим правильным e-mail на машинных отделениях и зафиксировать его, но SURFRAW_google_results
останется неизменным. Для например, на work
ветке я буду иметь это:
export EMAIL="[email protected]"
export SURFRAW_google_results=1000
Теперь я решил изменить SURFRAW_google_results=1000
10. Это должен использоваться по всему миру, так что я первый я изменить его на master
:
export EMAIL="@[email protected]"
export SURFRAW_google_results=10
и затем я перебазироваться work
на master
:
$ git checkout work
$ git rebase master
А теперь я получаю конфликт, потому что линия, которая находится выше линии I изменился отличается:
<<<<<<< a60114eea1c98d2354a07bd4fd0cdd63cba62e93
export EMAIL="@[email protected]"
export SURFRAW_google_results=10
=======
export EMAIL="[email protected]"
export SURFRAW_google_results=1000
>>>>>>> m
В случае bash
я мог быстро уйти с в том числе машины конкретной части путем поиске механизма, но как насчет , которые не поддерживают включение/выключение других конфигураций, таких как .fluxbox/keys
или .screenrc
?
Если я правильно понимаю вашу проблему, вы не хотите разрешать конфликт, но хотите предотвратить его в будущем, когда тот же файл изменится, и вы захотите снова переустановить его? – Ma3x
Да, я ищу способ предотвратить такие конфликты. Я прочитал много статей о людях, которые хранят отдельные части конфигураций в отдельных ветвях, но никто не описывал, как бороться с конфликтами. – user1042840
Я не думаю, что вы можете предотвратить конфликты в своем сценарии, однако вы можете записать желаемое разрешение (возможно, другое для каждой ветви машины), чтобы в будущем вам больше не нужно было разрешать эти конфликты. Мне никогда не приходилось использовать это самостоятельно, но посмотрите, может ли это решить вашу проблему: https://git-scm.herokuapp.com/blog/2010/03/08/rerere.html. – Ma3x