Разбить несколько изменений на отдельные коммиты с помощью git? - PullRequest
45 голосов
/ 09 февраля 2011

Если я сделал несколько наборов изменений в большом файле, возможно ли разделить их на отдельные коммиты с помощью git?

Ответы [ 3 ]

77 голосов
/ 09 февраля 2011

Вы хотите git add --patch ( документация ), что позволит вам выбрать, какие изменения в каскад.

17 голосов
/ 09 февраля 2011

Да, вы можете - используйте git add -i, чтобы выбрать, какие фрагменты вы хотите поставить для каждого коммита.Вы можете получить документацию, запустив git help add и перейдя к «Интерактивному режиму».

1 голос
/ 26 марта 2014

Уильямс ответ совершенно правильно. Но иногда легче делать вещи вручную. Например, если вы случайно обновили какую-то стороннюю библиотеку большим количеством файлов, прежде чем вносить ранее внесенные изменения. С git add -p (так же, как --patch) вам нужно будет пройтись по всем этим файлам. Так что в этом случае гораздо удобнее просто поместить файл, который вы хотите зафиксировать, и выполнить второй коммит со всеми другими изменениями:

> git add /path/to/your/file.txt
> git commit -m "my commit message"
[master a0c5ea6] my commit message
1 file changed, 2 insertions(+), 1 deletion(-)
> git add --all
> git commit -m "updated library xyz"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...