私がやろうとしていること:
機能を完了しました。
git add -A; git commit -m "feature A complete"
それから私は私がいくつかのことを逃したことに気づきました。
git add -A; git commit -m "feature A missed something 1"
git add -A; git commit -m "feature A missed something 2"
git add -A; git commit -m "feature A missed something 3"
今私の歴史は次のようになります:
A238ad1 feature A missed something 3
3238adX feature A missed something 2
1238ad7 feature A missed something 1
111AAA2 feature A complete
私はそれをこのように見せたい:
111AAA2 feature A complete
すべてのmissed something
コミットがコミットにマージされfeature A complete
ます。
git rebase -i HEAD~4
正しい方法はわかっていますが、履歴をクリーンアップするための不正なコミットを実際に削除するわけではありません。
他のいくつかの記事でgit commit --fixup
コマンドとがありますがgit rebase -i --autosquash
、正しく機能していません。これはとても簡単だと確信しています。今日はもう終わりです。
この場合、インタラクティブなリベースを使用します
これは、を使用して開始できます
git rebase -i
含めたいヘッドの数が続きます
git rebase -i HEAD~5
ここで、HEAD~5
最後の5つのコミットを示します
次に、さらにオプションを使用して、コミットを1つにまとめ、メッセージを編集できます。pick
オプションの代わりに書き込みのsquash
代わりに
だからここにあなたが私の変更オプション、参照pick
のためs
のショートカットですsquash
。このファイルを保存して閉じると、インタラクティブなリベースが開始され、押しつぶすように指定したコミットがに押しつぶされ21b4e04 Fixed missing bad practice
ます。押しつぶした後、新しいコミットメッセージを入力するように求められます。新しいメッセージを入力して押すと、enter
完了です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加