Объединить ветку git, исключая изменения в каком-либо каталоге - PullRequest
6 голосов
/ 10 августа 2011

Я хотел бы объединить изменения из ветви B с моей ветвью A таким образом, чтобы объединение исключало любые изменения в данном каталоге.Проблема в том, что у меня есть некоторые коммиты, которые охватывают изменения в нескольких каталогах, один из которых нужно исключить.

Возможно ли что-то подобное, например, с переписыванием истории?уточнить, моя структура каталогов:

root/x
root/y
root/z

некоторые коммиты влияют на все три каталога.Теперь я хотел бы объединить таким образом, чтобы в истории произошли изменения как в y, так и в z, но не в x.

Ответы [ 2 ]

6 голосов
/ 10 августа 2011

Вы можете объединить другую ветку, не фиксируя ее, затем сбросить состояние каталога:

git merge --no-commit <branch>
git reset root/x
git commit

еще лучше разделить ваши коммиты, как упомянуто @ бесполезно в его ответе

3 голосов
/ 10 августа 2011

Если ваши изменения все еще локальны, самый простой способ - разделить ваши коммиты на подлинно ортогональные изменения, которые вы можете объединить независимо.


Восстановление мертвой ссылки: попробуйте эту ссылку вместо этого (или просто посмотрите вашу локальную справочную страницу для git rebase ) и найдите вниз Splitting Commits .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...