git один и тот же файл, другой контент в этом файле, что произойдет, когда git merge - PullRequest
1 голос
/ 17 мая 2019

У меня 2 филиала (мастер и разработка). в обеих ветках у меня nginx conf. Теперь в основной ветке мне нужно, чтобы nginx.conf отличался от nginx.conf, который будет в ветке разработки.

1) Могу ли я иметь один и тот же файл с различным содержимым в нескольких ветвях?

2) Иногда мне нужно объединить разработку в основную ветку. что будет в это время? Возможно ли, что nginx.conf из ветви разработки был объединен с основным nginx.conf, а основной nginx.conf изменится на nginx.conf разработки?

3) Какова лучшая практика для этого?

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Я чувствую, что лучше создать отдельные файлы для конкретной среды, такие как nginx.dev.conf, nginx.prod.conf и т. Д., И позволить вашему инструменту связывания беспокоиться о том, какой файл нужно выбрать на каком этапе. Это делает вещи простыми.

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

0 голосов
/ 17 мая 2019

Когда вы попробуете ваше первое слияние файлов после того, как они расходятся, git попытается перенести изменение файла с разработки на мастер .... вы можете изменить ревизию, чтобы отменить это изменение, или запустить с помощью --no-сделать коммит, чтобы вы могли сделать это обращение перед фиксацией .... после этого, если файл не изменен на dev, git больше не будет пытаться перенести изменение из dev при слиянии ..... вы должны сохранить образец файла, возможно, вместо реального ... но хорошо, у вас есть то, что произойдет с "техническим" POV.

...