Re: git commit --amend
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 09.11.18 20:03
Оценка: 7 (2) +1
Здравствуйте, Artem Korneev, Вы писали:

AK>Иногда по ошибке делаю commit и оно создает новую запись в списке коммитов вместо того чтоб обновить текущую. Или делаю наоборот и тогда оно сливает мое изменение с предыдущим, от другого человека.

AK>Есть ли какой-нибудь простой способ сделать чтоб оно создавало новую запись только если сейчас нет текущей, которая еще не была смержена в основную ветку?
AK>Не то чтоб прям это часто случалось, но все равно надоедает. Пару раз в полгода приходится вручную перекидывать все в staging и пересоздавать коммит.

Эээ...
Зачем куда-то что-то перекидывать?

Если речь о случайном amend вместо нового коммита, то git reflog показывает id коммита перед ошибкой, его можно сразу вытащить обратно. (Удобнее всего через git checkout -B $current_branch $commit_id.)
Сразу замечу к слову — git reflog по умолчанию показывает однострочно, но через git reflog --pretty=short, git reflog -p и т.д. — можно менять показ на нужный (аналогично git log).

Если наоборот, то через interactive rebase и подкоманды squash/fixup такой случайно отдельный коммит объединяется с предшественником.

По исходному вопросу — штатно такого не знаю, но написать алиас или даже отдельную команду, которая анализирует ситуацию, и выбирает действие — должно быть достаточно просто.
Думаю, никто этим не заботится именно потому, что восстановление тривиально.
The God is real, unless declared integer.
Отредактировано 10.11.2018 7:30 netch80 . Предыдущая версия . Еще …
Отредактировано 10.11.2018 7:27 netch80 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.