2013-01-31 2 views
1

Предположим, у меня есть 2 коммита в моем журнале git. Теперь я хочу вернуться к первой фиксации и изменить некоторые файлы и добавить это как третье. Когда я набираю git log, я хочу, чтобы в одной ветке было 3 коммита. git reset --soft firstcommit, а затем снова совершает протирание моей второй фиксации. Как я могу достичь того, чего хочу?Как использовать Git для добавления новых коммитов в текущую ветку на основе предыдущего фиксации в той же ветви?

+0

вы можете описать то, что журнал, как в конце концов? – pktangyue

+0

Я хочу, чтобы журнал имел первый фиксатор, второй фиксатор, а также третьи записи фиксации. Но в git это просто показывает мне первый и третий фиксации – user1667307

+0

Что из первого фиксации вы хотите? Внесенные изменения или состояние его файлов? Вы хотите, чтобы этот третий фиксатор отменил изменения, которые были применены во второй фиксации. – Chronial

ответ

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