Если я сделал несколько наборов изменений в большом файле, можно ли разделить их на отдельные коммиты с помощью git?
Разбить несколько изменений на отдельные коммиты с помощью git?
Ответ 1
Вы хотите git add --patch
(документация), который позволит вам выбрать, какие изменения на этапе.
Ответ 2
Да, вы можете - использовать git add -i
, чтобы выбрать, какие кучки вы хотите выполнить для каждой фиксации. Вы можете получить документацию, запустив git help add
и прокрутите до "Интерактивный режим".
Ответ 3
Ответ Уильямса абсолютно прав. Но иногда легче делать вещи вручную. Например, если вы случайно обновили некоторую стороннюю библиотеку с большим количеством файлов, прежде чем вносить изменения, которые вы делали ранее. С 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"