[Git]複数のコミットを1つに纏める
無駄なコミットが残らないように、どちらかの方法でコミットを纏めます。
rebaseを用いる方法
コミット履歴を確認する
git log
纏めたいコミットより前のコミットのハッシュ値をコピーします。2つのコミットを纏めたい場合は、上から3つ目のコミットのハッシュ値です。
リベースする
git rebase -i コミットのハッシュ値
コマンドを打つと、対象より新しいコミットが、古い順に表示されます。2つ目以降の削除したいコミットの「pick」を「s」に書き換えると、スカッシュ後に削除されます。
エディタはナノエディタを想定しています。環境によって変わるのかもしれないですけれど、VScode&Git Bashではナノエディタでした。
sに書き換えたら、「ctrl + x」→「y」→「Enter」と入力すると保存されます。その後コミットメッセージの編集画面になります。表示したくないコミットのメッセージを消すことができます。保存方法は先程と同じ流れです。
プッシュする
rebase後は、オプション「-f」を付けてpushする必要があります。
resetを用いる方法
reset --softする
直近のcommitが削除され、その変更内容はcommit前の状態になります。git reset --soft HEAD^