У вас уже есть дополнительные или измененные файлы в отдельной ветке (я предполагаю, что их имя testing
); эта ветвь также должна содержать файлы из ветви master
(потому что она была создана из master
, верно?). Теперь создайте третью ветку, например, local
(или unified
или что-то еще):
git checkout -b local master
Теперь объедините вашу ветку testing
в нее:
git merge testing
Это должно дать вам все модификации из всех веток. Обратите внимание, что эта ветвь не предназначена для фиксации вручную, вы просто объединяете в нее либо master
, либо ветку testing
, коммиты всегда идут в любую из этих веток, а не local
!
Этот подход требует некоторой дисциплины, потому что вы не должны фиксировать ветку local
(если вы не уверены, что можете rebase
зафиксировать ветки local
в ветке, в которую они действительно должны перейти) , Кроме того, в gitk
это будет выглядеть довольно запутанным, потому что продолжающиеся объединения в одну ветвь имеют тенденцию создавать некоторый оптический шум. Это можно очистить время от времени, повторяя два шага сверху, которые просто воссоздают ветку local
- это не проблема, потому что все ваши изменения были зафиксированы либо в master
, либо в testing
. * 1025. *