問題タブ [git-interactive-rebase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git は、VIM やその他のエディターの代わりにデフォルトの git エディターを開きます (Git Rebase)
最近Vimをインストールしました。これで、ブランチをインタラクティブ モードでリベースすると、Git が自動的に Vim を開きます。
ただし、Vim を対話モードで開きたくありません。代わりに、デフォルトの Git インタラクティブ モード エディターを開きたいと思います。Git で使用されるデフォルトの対話型エディターを設定するにはどうすればよいですか?
git - インタラクティブなリベースが私のコミットをまとめて押しつぶすのはなぜですか?
次の 3 つのコミットがあるとします。
次のコマンドを使用してインタラクティブなリベースを実行します (別の StackOverflow スレッドで説明されているように)
デフォルトのエディターで、コミットを変更したい行の「pick」を「edit」に変更します。変更を加えてから、以前と同じメッセージでコミットします。
コミットを変更し、その後
問題は、完了したときに、コミットが 1 つのコミット (a
私の例では最も古いコミット) にまとめられている場合があることです。
解決すべきマージ競合がある場合に何か関係があるように見えるので、解決後に間違って続行している可能性があります。マージの競合を解決した後、単純にANDを実行する必要があるgit rebase --continue
のか、両方を実行する必要があるのか わかりません。どちらの場合も、最後にコミットをマージしたようですが、よくわかりません。$ git commit --all --amend --no-edit
git rebase --continue
私は何を間違っていますか?
git - git: 行固有の自動修正
私は最近git commit --fixup
、あなたのコミットを以前のコミットのフィックスアップとしてマークし、インタラクティブなリベース中にそれらを自動的に並べて配置することについて学びました。
複数の行に対して自動的に個別に行うにはどうすればよいですか?
次の例を見てください。私のgit履歴は次のようになります。
そして、私の作業ツリーではa()
、ファイル A.cpp のメソッドのいくつかの行を変更しb()
ました (そしておそらくメソッドを追加しましたc()
)。コミュニケーションを容易にするために、ここでは関数についてのみ説明していることに注意してください。もちろん、git はプログラミング言語を認識していません。
作業ツリーの 2 つの個別の変更から、2 つの個別の修正コミットを自動的に生成することは可能ですか?
(そして今、作業ツリーには追加された A.cpp の変更が含まれていますc()
) これが作業ツリー内の複数のファイルで機能する場合は素晴らしいでしょう (この例のように単一の A.cpp だけではありません)。
更新、代替表現:
git-blame は、各行の最後のコミットを表示します。行を変更する場合は、コミット git-blame がこの行について以前に示したものを修正したいと思います。