2017-04-07 8 views
2

ブランチAをレポに10個コミットしました。私が望むのは、すべてのコミットを削除する方法を見つけることですが、現在のブランチにすべての変更を残します(コードの状態は同じですが、Aのすべてのコミットはなくなります)。目的は私が今すべての変更を越えて行くことができるということです。この流れも可能ですか?未コミットはすべて現在のブランチにコミットしますが、すべての変更は現在の状態にしておきます

答えて

5

とインデックスはmasterと同じ状態になりますが、作業ツリーは変更されません(現在の状態など)。

1

あなたのコミットを1つの単位でまとめると、あなたの役に立つかもしれません。 見てくださいhere

1

git reset commit idは、コミットを指定されたコミットIDにリセットします。この場合、以前のコミットIDをgit logから検索し、そのコミットIDに戻すことができます。

+0

なぜなら、 '--hard'を出すときには、彼が望むものをそのまま実行し、すべての変更を作業フォルダに残しておきますか? –

1

git reset --soft <commit-id>が必要です。 HEADを指すように移動しますが、作業ツリーの状態は変更されません(したがって、ファイルはそのままになります)。 logコマンドを使用して、開始のコミットハッシュがAであることを確認します。

resetについて詳しくは、hereをご覧ください。

0

あなたは1つまたはそれ以上のすべてのコミットをスカッシュしなければなりません。 を見てくださいthis

関連する問題