2016-04-08 4 views

答えて

2

あなたが戻って前の二コミットをリセットすることができます

git reset --mixed HEAD~2 

を使用してこれが枝をリセットしますが、すべての変更これら二つのコミットを維持します。次に、単に保存する必要があるものを追加してコミットします。

+0

にスカッシュコマンドを適用するには、すでに、より良いが – FazoM

+0

うん--mixedはこの場合のために良い仕事かもしれません--mixedされるだろう「追加しました」。私は答えを更新します。 –

2

"コミットを削除"という言葉で考えるのはやめてください。私が言うと思います:現在のコミットIDダウン

注:

git log |head -n1 

バック2つのコミット、

git checkout HEAD~2 

を行くのみ、ディレクトリ

git checkout <noted ID> -- yourdirectory/ 

をチェックアウトしてコミット結果:

git commit -m "kept the future of yourdirectory/" yourdirectory 

そして、あなたは本当にこれらの二つのコミットを潰すために

git rebase -i HEAD~10 

を使用し、既存のコミットと干渉するしたい場合。

あなたが本当にしたい場合(あなたがする必要はありません)git pruneダングリングは後でコミットすることができます。

+0

私はそれがHEAD〜2 HEAD〜3でなければならないと思う - 2つのコミットバック – FazoM

+0

本当、あなたは正しい。 –

0

git rebase -i HEAD~2以前の3つのコミットを編集できます。

おそらく--softは、すべての変更を残して、対話型シェル

関連する問題