git. Поддержка в актуальном состоянии файла на разных ветках

Есть две ветки: условный master и, скажем, branch2. Большая часть файлов в ветках различна: названия совпадают, содержание нет. В обоих ветвях есть файл README.md (на стадии написания), содержание которого нужно держать общим для двух ветвей. Предполагается работать с двумя ветками, постоянно внося в них изменения и держать README.md в актуальном состоянии. Как это реализовать? Вносить изменения на одной из ветвей, копировать содержание README.md и переключаться на другую кажется не лучшим решением


Ответы (2 шт):

Автор решения: Dmitry Kozlov

Можно использовать cherry-pick

git checkout branch2

Редактируете ТОЛЬКО README.md и комитите только его

git commit -m "New edition of readme"
[branch2 463dc4f] New edition of readme

после переходите в мастер

git checkout master
git cherry-pick 463dc4f
Finished one cherry-pick.
[master]: created a0a41a9: "New edition of readme"

В мастер добавится только этот коммит. Дальше можете продолжать править branch2

→ Ссылка
Автор решения: sergzemsk

Смысл файла README.md в том, что он отражает состояние текущей версии.

Когда вы переходите на другую ветку, то в ней нет тех изменений которые есть в ветке master. Лучшей стратегией будет писать в README.md актуальное относительно каждой ветки. А при слияние веток сольётся и содержимое README.md

→ Ссылка