1. ホーム
  2. git

[解決済み] 2つのコミットを1つのコミットにまとめるには?

2022-08-09 07:32:56

質問

2つのコミットがある 'firstproject' ブランチがあります。これらのコミットを取り除き、1つのコミットとして表示されるようにしたいです。

コマンドは git merge --squash は期待できそうですが、実行すると git merge --squash を実行すると、私のターミナルにはコマンドのオプションが表示されるだけです。正しいコマンドは何ですか?

Commit 1:
Added 'homepage.html'
Added 'contacts.html'

Commit 2:
Added 'homepage.php'
Added 'homepage.php'
Deleted 'homepage.html'
Deleted 'contacts.html'

どのように解決するのですか?

あなたは git rebase -i を実行するために 対話的リベース .

もしあなたが現在 になっている場合 にいて、マージしたいコミット("commit 2")がその前のコミットである場合、次のように実行します。 git rebase -i HEAD~2 を実行すると、リベースが通過するすべてのコミットをリストアップするエディタが起動します。pick"で始まる2行が表示されるはずです。スクワッシュを行うには、2行目の最初の単語を "pick" から "squash" に変更します。そしてファイルを保存し、終了します。Gitはあなたの最初のコミットを、あなたの2番目の最後のコミットへとスクワッシュします。

この処理は、ブランチの履歴を書き換えることに注意しましょう。コードをどこかにプッシュする場合は git push -f を追加する必要があり、あなたのコードを共有する人は、あなたの変更を取り込むためにいくつかの輪をくぐらなければならなくなります。

もし問題の二つのコミット ブランチの最後のふたつのコミットでない場合、プロセスは若干異なります。