リモートの「dev」ブランチがあり、ローカルで作業していました。
コミットメッセージ「my_feature」を使用して「dev」で最初のコミットを行い、ローカルブランチをリモートブランチよりも1コミット先に置きました。
次に、いくつかの新しいものを開発し、 を作成してgit add -u
、コミットする準備をしました。次に、以前のコミット メッセージを「my_feature (1/2)」として作り直して、現在のコミット メッセージを「my_feature (2/2)」として作り直し、ローカル ブランチをリモート ブランチよりも 2 コミット先に置きたいことに気付きました。
だから私はgit commit --amend
(前のコミットのメッセージを編集するだけだと思って)作成し、「my_feature」コミットメッセージを「my_feature(1/2)」として編集し、...「my_feature(1/2)」というラベルの付いた単一のコミットになりました"すべての変更(最初のコミット + ステージング ファイルの差分) を取得 -- インデックスはクリーンになりました。
それで、私が正しければ、私のコマンドは実際にコミットを行い、ステージングファイルもコミットし、単一の(マージされた?)コミットを生成しましたか?
Git がそのようなことをするとは思っていませんでした。古いコミット メッセージを現在のステージング ファイルとマージするのではなく、古いコミット メッセージを編集したかっただけです。(今考えると、rebase
もっと良かったかもしれません。)
コミットできる理由は理解git commit --amend
できますが (コミット メッセージを編集したいだけでも)、Git がコマンドを使用して 2 つのコミットを 1 つにマージする方法を理解するのに問題がありますcommit
。
誰でも私にこれを明確にすることができますか?
$ git --version
git version 1.7.10.4