20

開発者は最近、数か月前からリポジトリに「更新済み」のような大量のコミットを残して去りました。理想的には、それらを単一のコミットに押しつぶしたいのですが、これは最近のコミットに対してのみ行っています。

次のコミットのようにするにはどうすればよいですか (2 か月前から何百ものコミットがあると仮定します)。

.... 2 か月前から

aabbcc updated
aabbdd updated
aabbee updated
aabbff updated

凝ったものを望んでいない/必要としない、単純な解決策です。これらのコミットは公に共有されていないため (今日の私以外)、他の人のコミット履歴を混乱させる問題はありません。

4

3 に答える 3

4

コミットの経過時間は関係ありません。コミットをつぶすことは、コミットをつぶすことです。

リベースが望ましくない場合、またはスカッシュしたい文字通り何千ものコミットがあり、それを気にすることができない場合は、最初のコミット ハッシュにそっとリセットし、すべてを再コミットすることができます。

$ git reset aabbff 
$ git commit -m "This commit now contains everything from the tip until aabbff"

そうすると、rebase -> squash と同じように、コミットは 1 つだけになります。

于 2016-01-12T00:11:04.903 に答える