問題タブ [mergetool]

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 投票する
4 に答える
79117 参照

git - ファイル間でエディターを閉じることなく、「gitmergetool」との複数の競合をどのように解決しますか?

git mergetoolは、差分を視覚的にマージするための便利なユーティリティであることがわかりましたが、私が行っている方法は本当に不安定なようです。基本的に、競合が報告されたときの私のプロセスは次のようになります。

  1. gitmergetoolを実行します
  2. プロンプトで、Enterキーを押して、差分ツールを起動します(コンピューターに応じて、MeldまたはFileMerge)
  3. 競合を解決する
  4. 変更を保存します
  5. 差分ツールを閉じます

複数の競合がある場合は、すすぎ、繰り返します。うん、それは私がマージの競合ごとに1回diffビューアを開いたり閉じたりすることです。これはコマンドラインから起動されるため、閉じることが、この特定の競合を解決し、次の競合に進むことができることをgitmergetoolに伝える唯一の方法です。

確かにもっと良い方法がありますが、私にはわかりません。助けてください?このプロセスは非常に非効率的です。

0 投票する
2 に答える
132 参照

svn - サブラインレベルのマージツール?

特定の行でマージの競合が発生した場合に、戻って競合する行を一度に 1 文字ずつマージしようとするインタラクティブなマージ ツールはありますか?

変更されたコード行と同じ行がインデントされている間にマージの競合が発生するケースを考えています。


ところで:TortoiseSVNから呼び出されたBeyond Compareを使用しています

0 投票する
2 に答える
1959 参照

git - Gitの自動検出はスクリプト化されていますか、それともGit実行可能ファイル内にありますか?

この質問は、スレッドでのVonCのコメントに基づいています。

Gitのdifftoolまたはmergetoolの自動検出はスクリプト化されていますか、それともGit実行可能ファイル内にありますか?

0 投票する
3 に答える
2522 参照

git - git でのマージの競合を解決するためのコンソール UI ツール... vimdiff のようだが「より簡単」

Git でマージの競合を解決するためのコンソール UI ツールを探しています... vimdiff のようですが、「より簡単」です

0 投票する
2 に答える
5820 参照

git - git mergetool で使用されているように、LOCAL、REMOTE、および BASE の名前を変更できますか?

ブランチのリベース B を master に実行していて、競合が発生したとします。git は、入力として 3 つのファイルを使用してデフォルトのマージ ツールを開きます: file.LOCAL、file.BASE、file.REMOTE (名前は少し異なりますが、LOCAL、BASE、REMOTE はファイル名に含まれており、それらを区別する方法です) )。

ここで、mergetool のマニュアル ページによると、 $LOCAL は、現在のブランチのファイルの内容を含む一時ファイルの名前に設定されます。$REMOTE は、マージされるファイルの内容を含む一時ファイルの名前に設定され、$BASE は、マージの共通ベースを含む一時ファイルの名前に設定されます。

それは本当に私には意味がありません。LOCAL はブランチの現在の状態です。迷うところはBASEとREMOTE。だから私の質問は:

LOCAL の代わりにブランチ名を使用し、BASE と REMOTE 以外のより意味のある名前を git に使用させることは可能ですか? たとえば、ブランチ名が FeatureX で、BASE = master に存在するファイルの場合、git で LOCAL を FeatureX に、BASE を master に置き換えて、ソースがどこから来ているかをより明確にする方法はありますか? ? これは、リベースを行うときに特に問題になります。

0 投票する
6 に答える
11991 参照

git - Gitにファイルを競合としてマークさせる方法はありますか?

競合データを含むファイルをコミットすることができます。git mergetool を実行すると必要なファイルが生成され、マージ ツールが実行されるように、これらのファイルを再び競合としてマークする方法はありますか?

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

git - ブランチ上のファイルがマスター上の 2 つのファイルに分割されたときに変更をマージする

これは基本的に、マスター上の大規模なクラス C が 2 つの小さなクラス C1 と C2 にリファクタリングされた結果です。その後、C は C2 のサブクラスになり、下位互換性のためにスケルトン バージョンに削減されました。その時点から、マスターには C、C1、C2 が含まれていました。そのマスター コミットで git は、C の名前が C1 に変更されたと述べました。ブランチは、これが発生する前に最後に更新されました。(関係するファイルを視覚化するのに役立つ場合は、すべての C++ コード)

明らかに、ブランチを master にリベースしようとしたときに、解決する必要のある競合がありました。

いつものように、mergetool を使用しました。

したがって、mergetool は次のように表示されます。ローカルでは、C のスケルトン バージョンを使用しています。ベースとリモートでは、C に多くの変更が加えられています。

C のスケルトン バージョンは Local に存在するため、Base と Remote からの変更は実際には C1 に入り、C はそのままにしておく必要があると結論付けました。

私の質問は、どうすればいいですか?

0 投票する
2 に答える
926 参照

git - cygwin で git mergetool から BeyondCompare を使用するには?

Cygwinで「git mergetool」からBeyondCompareを使用するには?

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

git - Git & WinMerge (msysgit)

私は、まさにこのトピックに関する膨大な量の Q&A を読み、すべての指示に従って手紙を書きました。しかし、WinMerge を使用して差分とマージを行うように Git を設定しようとすると、まだ頭痛の種になります。

Git ターミナルを使用して次の手順を実行しました。

PATHまた、変数に含まれるディレクトリに次のようなスクリプトを設定しました。

実行すると

Git ターミナルでは、次のように表示されます。

そのため、変数$LOCAL$REMOTE変数がwinmerge.shスクリプトに何も渡していないように思えます。ここで何が間違っていますか?構成部分でそれを想定する必要があります。

0 投票する
5 に答える
42595 参照

windows - TortoiseMerge を Windows の git マージ ツールとして使用できないのはなぜですか?

初めての Git マージを実行しようとしていますが (エキサイティングです!)、Windows 7 で Git Gui (Git 1.7.4.msysgit.0 の 0.13.GITGUI) が TortoiseMerge (1.6.11.20210 x64) を認識できません。同様の質問への回答に基づいて、次の構成変更を行いました。

残念ながら、Git Gui を起動して「マージ ツールを実行」しようとすると、エラーが発生しますUnsupported merge tool 'tortoisemerge'

誰が私が間違ったことを教えてもらえますか? my の関連セクションは次の~/.gitconfigとおりです。

アップデート

TortoiseMergegit mergetoolは、コマンド ラインから実行する場合、上記の構成で問題なく動作します。問題があるのは Git Gui のみのようです。:-/