問題タブ [difftool]
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 difftool -- 画像を無視するには?
私は git / osx / unix の初心者ですが、現在の仕事ではそれらすべてを使用しています。コミットの変更を比較するために「git difftool」を何度も実行しますが、イメージに遭遇するたびに、FileMerge からエラーが発生し、それをスキップするために不要なクリックを数回行う必要があります....時には 10 回または 20 回任意のコミットの時間。
私は見ましたが、差分中に画像を無視する簡単な方法を見たことがありませんか?
tfs - 比較のためにチームエクスプローラーが使用するプログラムをどのように変更しますか?
チームエクスプローラーで競合を解決するために、チームエクスプローラーにBeyondCompareまたはSourceGearのdiffmergeを使用してもらいたいです。私はその可能性を知っていますが、その設定はどこにあり、その構文は何ですか?
git - git difftool-特定のファイルをスキップする方法は?
を実行するgit difftool
と、メッセージが表示されますHit return to launch 'araxis':
。を押すことで差分全体を終了できることがわかりましたがCTRL-C
、1つのファイルをスキップするのはどうですか?
これは可能ですか?
編集:git 1.7.7.1(およびmsysgit 1.7.7.1.msysgit.0)の時点で、それは可能です。すべてのファイルについて、私は尋ねられます
彼の回答で言及されているpeterjmagのコミットは、gitの人たちに受け入れられ、ブランチに組み込まれたようです。master
git - Git と DiffTool の問題 : LOCAL と REMOTE は何を指していますか?
私は、現在表示されている .gitconfig ファイルを使用して、Git の difftool オプションとして tortoisemerge を機能させることに取り組んでいます。
tortoise merge docsによると、「mine」コマンドは、どのファイルが右側に表示されるかを双方向の差分で示しています。
私の質問は、GIT によって提供される LOCAL 変数と REMOTE 変数が実際に何を指しているのかということです。ドキュメンテーションは、それを述べている少しあいまいです
LOCAL は差分前イメージの内容を含む一時ファイルの名前に設定され、REMOTE は差分後イメージの内容を含む一時ファイルの名前に設定されます。
ファイルを変更してから 'git difftool' と入力すると問題が発生します。「鉱山」コマンドと「ローカル」コマンドを切り替えるだけでよいことはわかっていますが、ローカル/リモートが何を指しているのか、この問題を解決する最善の方法を見つけようとしていました
windows - `git difftool` は Emacs 下位シェルでの実行を拒否します
git difftool
プレーンな cygwin シェルで入力すると、無害な終了が表示されます。
しかし、Emacs 下位シェル (同じ cygwin bash を実行) でまったく同じことを入力すると、次のエラーが表示されます。
なぜこれが起こっているのか、これを修正する方法はありますか?
(ちなみに、他のすべての git コマンドは、この Emacs 下位シェルの下で完全に機能するため、これは に固有のものであるに違いないとしか思えませんdifftool
)
編集(関連するツールのバリアントとバージョン情報を提供):
- cygwin-1.7.8-1
- G41R2F1 上の 2010-05-08 の GNU Emacs 23.2.1 (i386-mingw-nt6.1.7600)
- git バージョン 1.7.4
- Windows 7 アルティメット 64 ビット
git - git difftoolを介したWinMergeは、2番目のファイルの入力を求め続けます
@VonCの優れた手順git difftool <BRANCH1> <BRANCH1>
を使用して、 WinMergeを呼び出すように開発システムを構成しました。これが私がしたことです:
以下を配置しました
~/.gitconfig
:[diff]
[difftool "winmerge"]
[difftool]
/li>/usr/bin/winmerge.sh
次のコンテンツでを作成しました。echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe" -e -ub "$1" "$2"
を介してWinMergeを起動しようとするgit difftool <BRANCH1> <BRANCH1>
と、正しいパラメータの受け渡しと思われるものが表示されます。
Launching WinMergeU.exe: /tmp/21qMVb_file1.c /tmp/1ACqik_file1.c
しかし、奇妙な理由で、WinMergeが2つのファイルを並べて表示する代わりに、最初のファイルを右側として入力し、2番目のファイルを左側として受け入れるように求めます。
なぜこうなった?構成手順で何を見逃しましたか?
PSコマンドラインで入力するとwinmerge.sh file1.c file2.c
、WinMergeは、期待どおりに2つのファイルをすぐに並べて表示します。
更新:うわー、Both paths are invalid
WinMergeのプロンプトの下部にあるメッセージに気づきました(そしてそれを強調するためにスクリーンショットを更新しました)。これらのファイルは単にdifftoolによって生成されたものではないか、パスに問題があるようです。
git - Git difftoolの問題:一時ファイルを作成できません
私はdifftoolとして構成されたKaleidoscopeでgitを使用しています。それは何ヶ月もうまく働いています。それは1日か2日前にも働いていました。今日、私が「git difftool」を実行しようとすると、突然、gitが報告します
グーグルで検索すると、これはローカルgitリポジトリのディレクトリ権限の問題である可能性があります。しかし、gitレポジトリで再帰的にchownした後でも、状況は改善しませんでした。
Git-difftoolのドキュメントには、この一時ファイルを作成しようとしている場所については記載されていません。誰かがこれを見つける方法について何かアイデアがありますか?
git - Git:difftoolとmergetoolのパターンを構成します
Mercurialでは、外部の差分ツールとマージツールのパターンを定義できます(指定されたパターンに一致するファイルに対してのみ呼び出されるように)。
Gitでそのようなパターンを定義する方法は?
git-config(1)の[mergetool]セクションには、パターン、マスク、または同様のものについては言及されていません。
編集:
これが私の.git/configの関連部分です:
これで、すべてのファイルで機能します。
difftoolとmergetoolは、名前がで終わるファイルに対してのみ呼び出されるようにしたい.ext
編集:
次の内容のファイル.git/info/attributesを追加しました。
私も追加しました
私の.git/configに。
今私は実行します
私のdifftoolの代わりにKDiff3を呼び出します。私は何を間違えますか?
備考:テストが簡単なため、mergetoolではなくdifftoolを使用しています。また、difftoolを構成できれば、mergetoolの構成方法が明らかになると思います。
編集:
Difftoolが機能するようになりました。
.git / config:
.git / info / attributes:
difftool.git.sh(PATH内)
ただし、Windowsには副作用がありますgit diff
。結果はAPPCRASHになります。
編集:
クラッシュやハングを回避する方法を理解しましたgit diff
:使用するgit difftool
か、呼び出す必要がありgit diff
ますsh
:sh -c "git diff"
git - .gitattributes は違いを生まず、git difftool の使用時にファイルをスキップしようとしています
Git Pro Web サイトを読み、StackOverflow で複数の回答を読みましたが、残念ながら .gitattributes を機能させることができません。
を使用しているときは常にgit difftool
、画像ファイル (PNG) などのバイナリ ファイルの違いを表示しようとします。
.gitattributes ファイルでさまざまな組み合わせを試しましたが、git difftool
コマンドを実行するたびにバイナリ ファイルを比較しようとします。
私のリポジトリのフォルダーには、
.git
.gitattributes
[私のプロジェクトのファイル サブディレクトリ] があります。
.gitattributes ファイルに対してフィルターの多くの組み合わせを試しました。例えば:
*.pbxproj バイナリ
*.png バイナリ
またはまた:
*.pbxproj バイナリ -diff
*.png バイナリ -diff
平:
*.pbxproj バイナリ
*.png バイナリ
*.pbxproj -diff -difftool
*.png -diff -difftool
毎回、.gitattributes ファイルをインデックスに追加してコミットするだけです。ただし、その後、 my を実行してgit difftool
2 つのブランチ間の違いを調べると、次のようになります。
git difftool otherBranch HEAD
表示: 'MyApp.xcodeproj/project.pbxproj' リターンを押して 'diffmerge' を起動します:
表示: 'MyApp/Background1.png' リターンを押して 'diffmerge' を起動します:
なぜこれをやっているのですか?これらの特定のファイルの差分を表示する必要がないように、最終的に .gitattributes ファイルを適切に設定するにはどうすればよいですか?
さらに調査するために、git check-attr
次のようにコマンドを使用しました。
git check-attr binary MyApp/MainBackground.png
出力はMyApp/MainBackground.png: binary: set
...なぜ git difftool はまだ差分を表示するように強制するのだろうか!
git - 「git difftool」がツールを直接開かないのはなぜですか?
私はこのように構成git
しました:
私が実行すると:
次のメッセージが表示されます。
次に、 を押すEnterと、meld
起動します。
meld
このメッセージを無効にして、入力後すぐに起動するにはどうすればよいgit difftool
ですか?