5

私はしばらくプライベート リポジトリに取り組んでおり、GitHub にリリースする予定です。

問題は、私が多くのコミットを持っていることです。衛生のために、GitHub には 1 つのコミットのみを表示したいと考えています。

履歴をプッシュせずにプッシュするにはどうすればよいですか? つまり、MASTER全体を単一のコミットに統合します

よろしくお願いします。

ダグ

4

2 に答える 2

5

通常git rebase --interactive HEAD~n、n が no の場合に使用します。1つにマージしたいコミットの。ただし、あなたの場合、履歴全体を単一のコミットに押しつぶしたい場合、親なしで (最初のコミットまで) リベースすることはできないため、 and を使用する必要がgit resetありgit commit --amendます。

行うことは次のとおりです。

  1. git log --oneline. 最初のコミットの SHA を見つけます。
  2. SHA が であるとしますfe7d5d1。実行しますgit reset fe7d5d1。これにより、ブランチが初期コミットにリセットされます。
  3. git add .すべての変更をステージングするために使用します。
  4. 次に、最初のコミットを修正しますgit commit --amend -m "Initial commit"
  5. を使用して、コミットが 1 つしかないことを確認しますgit log --oneline

CAUTION : すでにリモート リポジトリにプッシュしたコミットを書き換えたり、スカッシュしたり、リベースしたりしないでください。

于 2012-06-03T08:23:06.947 に答える
1

git rebase を調べてください。インタラクティブモード。

于 2012-06-03T08:04:40.187 に答える