Предположим, у меня есть 2 коммита в моем журнале git. Теперь я хочу вернуться к первой фиксации и изменить некоторые файлы и добавить это как третье. Когда я набираю git log
, я хочу, чтобы в одной ветке было 3 коммита. git reset --soft firstcommit
, а затем снова совершает протирание моей второй фиксации. Как я могу достичь того, чего хочу?Как использовать Git для добавления новых коммитов в текущую ветку на основе предыдущего фиксации в той же ветви?
1
A
ответ
1
Предположим, что вы сейчас находитесь на третьем континенте.
Вы можете использовать git cherry-pick secondcommit
, чтобы получить его обратно.
И журнал будет
firstcommit -> thirdcommit -> secondcommit
Если вы хотите, чтобы журнал быть похожим:
firstcommit -> secondcommit -> thridcommit
вы можете сделать:
git reset --hard secondcommit
git cherry-pick thridcommit
+0
Я не знаю ша второй фиксации, поскольку она не отображается в журнале git – user1667307
+0
, вы можете использовать 'git reflog', чтобы найти его. – pktangyue
вы можете описать то, что журнал, как в конце концов? – pktangyue
Я хочу, чтобы журнал имел первый фиксатор, второй фиксатор, а также третьи записи фиксации. Но в git это просто показывает мне первый и третий фиксации – user1667307
Что из первого фиксации вы хотите? Внесенные изменения или состояние его файлов? Вы хотите, чтобы этот третий фиксатор отменил изменения, которые были применены во второй фиксации. – Chronial