問題タブ [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.

0 投票する
1 に答える
12489 参照

git - Git は、VIM やその他のエディターの代わりにデフォルトの git エディターを開きます (Git Rebase)

最近Vimをインストールしました。これで、ブランチをインタラクティブ モードでリベースすると、Git が自動的に Vim を開きます。

ただし、Vim を対話モードで開きたくありません。代わりに、デフォルトの Git インタラクティブ モード エディターを開きたいと思います。Git で使用されるデフォルトの対話型エディターを設定するにはどうすればよいですか?

0 投票する
1 に答える
70 参照

git - インタラクティブなリベースが私のコミットをまとめて押しつぶすのはなぜですか?

次の 3 つのコミットがあるとします。

次のコマンドを使用してインタラクティブなリベースを実行します (別の StackOverflow スレッドで説明されているように)

デフォルトのエディターで、コミットを変更したい行の「pick」を「edit」に変更します。変更を加えてから、以前と同じメッセージでコミットします。

コミットを変更し、その後

問題は、完了したときに、コミットが 1 つのコミット (a私の例では最も古いコミット) にまとめられている場合があることです。

解決すべきマージ競合がある場合に何か関係があるように見えるので、解決後に間違って続行している可能性があります。マージの競合を解決した後、単純にANDを実行する必要があるgit rebase --continueのか​​、両方を実行する必要があるのか​​ わかりません。どちらの場合も、最後にコミットをマージしたようですが、よくわかりません。$ git commit --all --amend --no-editgit rebase --continue

私は何を間違っていますか?

0 投票する
1 に答える
279 参照

git - git: 行固有の自動修正

私は最近git commit --fixup、あなたのコミットを以前のコミットのフィックスアップとしてマークし、インタラクティブなリベース中にそれらを自動的に並べて配置することについて学びました。

複数の行に対して自動的に個別に行うにはどうすればよいですか?

次の例を見てください。私のgit履歴は次のようになります。

そして、私の作業ツリーではa()、ファイル A.cpp のメソッドのいくつかの行を変更しb()ました (そしておそらくメソッドを追加しましたc())。コミュニケーションを容易にするために、ここでは関数についてのみ説明していることに注意してください。もちろん、git はプログラミング言語を認識していません。

作業ツリーの 2 つの個別の変更から、2 つの個別の修正コミットを自動的に生成することは可能ですか?

(そして今、作業ツリーには追加された A.cpp の変更が含まれていますc()) これが作業ツリー内の複数のファイルで機能する場合は素晴らしいでしょう (この例のように単一の A.cpp だけではありません)。

更新、代替表現:

git-blame は、各行の最後のコミットを表示します。行を変更する場合は、コミット git-blame がこの行について以前に示したものを修正したいと思います。