Как пользователь Git, я регулярно сталкиваюсь с ситуацией, когда мне нужно переработать один или несколько коммитов таким образом, чтобы они не вписывались в --amend
или rebase -i
с коммитами исправления. Обычно я бы сделал что-то вроде
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
Я очень серьезно отношусь к разумно составленным сообщениям коммитов. Обычно они содержат более крупный текст со ссылками и обоснованием изменений. До сих пор меня очень раздражал длительный процесс восстановления моего старого сообщения коммита с помощью несортированного процесса git reflog
, git log
и копирования и вставки.
Есть ли лучшее, чтобы справиться с этим? А как быть, если мой содержит более одного коммита?
Редактировать: Немного подумав об этом, я думаю, что мне нужна некоторая git stash-подобная функциональность для сообщений коммитов, где коммиты исправления/изменения не подходят.
git reset head~1
, разве ваше старое сообщение фиксации не было бы просто второй записью вreflog
? - person   schedule 31.05.2013gitk
. Таким образом, вам даже не придется использовать reflog. В качестве альтернативы используйтеrev-parse <branch>
, чтобы получить свой хеш перед сбросом, и используйте ответ от ibizaman. - person cst1992   schedule 18.11.2016