問題タブ [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.
git - 単一ファイルの履歴 (git でホストされている) の「x」コミットの完全なファイル差分を表示する
git に というファイルがあり、そのファイルの最新バージョンの完全なコードを、変更された各セクションが強調表示された状態ですべて 1 か所でfilex.code
確認したいとします。そのため、 のコミット履歴は、ほとんどdiff を実行しているように見えますが、異なるブランチからマージするのではなく、履歴バージョンを表示しています。x
x
filex.code
x
大きいほどx
良い。クロスプラットフォームは素晴らしいですが、ビッグ 3 はどれも機能します。最新バージョンを編集できることも素晴らしいことですが、読み取り専用の視覚化で十分です。
これはファイルへのコミットの単純な履歴とは異なることに注意してください。そのため、それ以外の場合は素晴らしいgitk path/to/file
(または SourceTree または好きなビジュアル git クライアント) は、私が探しているものではありません。 git log -p
また、その出力には、私が望むすべての情報が興味をそそるほど含まれています。お気に入りの3ペインGUIのような、比較的非階層的で視覚的なものではなく、線形でほぼ「手続き型」の出力形式になっているだけです。 'd mergetool's.
(編集:各行の最新のソースと線形出力のみを表示するという欠点を最終的に経験するもう1つの本当にクールなオプションは ですがgit blame
、クールです。)
だから私はdifftoolのセットアップを正確に探しているわけではありません。x
ファイルの既知の 2 つのバージョンを比較するのではなく、過去の編集の反復を 1 つのファイルに視覚化したいと考えています。
求めすぎ?これは WTFA (「ファンタスティック」アプリ [自分で] を書く) の状況ですか?
より少ない選択肢: 1 つのファイルの最後の 3 つのコミットを表示するように騙すことができる 3 ペインのマージツールはありますか?
git - LibreOffice / OpenOfficeマージツールを`git-mergetool`として使用できますか?
私はこれを示唆する古いブログ投稿に出くわしましたが、残念ながら実装されていないアイデアとしてのみです。これはその間に行われていますか/どのように達成できますか?(TortoiseGitがこれを行う可能性があると聞きましたが、Linuxを実行しています)
別の方法として、ここで説明した再圧縮アプローチもあります。これは、圧縮されていないOpenDocumentを追跡し、チェックアウト時に再圧縮するgitフィルターを提案します。これにより、バイナリガベージ(または損失の多いodt2txt)、ただし、このアプローチに関する更新も見つかりませんでした。これに関する最後の投稿では、このアプローチの潜在的な欠陥について警告しています。
git - 「gitmerge」の場合と同じように、「gitcherry-pick」によって引き起こされた競合をp4mergeに認識させるにはどうすればよいですか?
私はこれに続いて 、特定のファイルのみの変更をチェリーピックするためにgitを使用してコミットをチェリーピックしました。
チェリーピックの後、一部のファイルで競合が発生しました。つまり、ファイルには次のようなセクションがあります。
通常、git mergeでは、最愛のp4mergeを使用して競合を解決します。これは、非常に直感的でエラーがありません。
しかし、cherry-pickを使用すると、git mergetoolを使用すると、ファイルにファイルが含まれていても、マージする必要はないと表示<<<<<<
されます。そのため、競合を手動で編集して解決する必要がありました。
では、どうすれば競合が存在することをgitに知らせることができますか?
ありがとうヤン
macos - gitmergetoolのfilemergeの使用方法
ドキュメントはここにあります: http ://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html 便利なガイドはここにあります:http://ryanflorence.com/git-for-beginners/
ただし、どちらもmergetoolのfilemergeの使用方法を説明していません。
私が読んだガイドには、「Enterキーを押すと、FileMergeがポップアップし、競合に対処します」と書かれていますが、「競合に対処する」方法については触れられていません。
私が走るとき:
:次にプロンプトが表示されたらreturnキーを押すと、ファイルマージウィンドウが開き、すべてのマージの競合が表示されます。コマンドcmd+Dおよびcmd+shift + D(競合を循環できる)にのみ応答します。ただし、競合ごとに、左/右/どちらも選択しない方法については言及されていないようです。コンボボックスのドロップダウンは何もしないようです。
ドキュメント、ガイド、ファイルシステムメニュー、およびキーボードの体系的に押されたキーを確認して、応答を探しました=)
git - opendiff をデフォルトのマージツールとして使用する方法
こんにちは、opendiff を git mergetool として使用しようとしていますが、mergetool を実行すると、次のエラー メッセージが表示されます。
マージ ツール opendiff は「opendiff」としては利用できません
私は何を間違っていますか?以前は正常に動作していましたが、新しいハードドライブをインストールしたため、動作しなくなりました:(
git - 失敗したgitmergetoolによって残されたバックアップファイルの場所を変更する方法
gitマージツールを使用してCtrl+Cでキャンセルすると、次のファイルがリポジトリに残ります。
app/controllers/application_controller.rb.orig
app/controllers/application_controller.rb.BACKUP.22361.rb
app/controllers/application_controller.rb.BASE.22361.rb
app/controllers/application_controller.rb.LOCAL.22361.rb
app/controllers/application_controller.rb.REMOTE.22361.rb
これらのファイルの場所を変更して、一時的であってもリポジトリにまったく書き込まれないようにすることはできますか?たとえば〜/ .mergefiles
git - vimdiff を使用して git マージの競合を解決するにはどうすればよいですか?
ブランチをgitのマスターにマージしたところ、下の画像でAutomatic merge failed; fix conflicts and then commit the result.
実行git mergetool
され、vimdiffが開きました。vimdiff の使い方がわかりません。ここにある各パネルの意味と、マージの競合を修正するにはどうすればよいですか?
eclipse - eGitマージの競合-ステージングされたファイルと比較して間違ったコンテンツ
今朝試したマージまで、EclipseでgitとeGitを使用してきました(HeliosとJuno-この問題は両方で同じです)。
ブランチG_Claims(ローカルとリモートの間で同期されていることを確認しました)があり、最新の変更セットをコミットし、それらをプッシュしてから、マスターに関する最近の作業をマージして、変更がマスターに影響を与えないようにします。終了し、それらをにマージしました。
それで。o)最新の変更o)コミット(リモートG_Claimsにプッシュアップ o)マージ->リモート/マスター
対立があります。最初にマークされたファイル(ステージングされた-黒と白のアスタリスクとしてマークされた)をクリックして、チーム-> MergeToolをHEADと比較するか、作業ファイルと比較します(この場合は関係ありません。どちらも同じ結果になります)
左側のページに現在のファイルが表示され、右側にリモート/マスターの最新のコミットでラベル付けされたファイル(「Mychange」abd76f ...など)が表示されますが、完全にコンテンツが表示されます別のバージョン。
ここで、競合解決が必要であるとマークされている別のファイル(赤いひし形)をクリックすると、比較により、右側のパネルにリモート/マスター('My change' abd76f ...)バージョンファイルが正しく表示されます。
これは、MergeToolを使用してステージングされたファイルを「解決」するときの単なる視覚的なバグですか?
(このファイルのマージは自動的に行われたため)
MergeToolをクリックして、マージの変更が間違っていることを「確認」することを期待していますか?その場合、マージ後に(部分的に)ステージングされたファイルに比較ヘッドを使用し、競合するファイルにのみMergeToolを使用することを覚えておく必要がありますか?
正しい情報を表示しているように見えますが、間違っているのはおそらく右側のパネルのラベルだけです-マージ前にファイルの(前の??)バージョンを表示しているはずですが、別のラベルを付けているはずです-ではありません'My Change'abd76f...明らかにそうではありません...
git - mergetool GUI (KDiff3) を常に表示するにはどうすればよいですか?
mergetool GUI を常に表示し、自動解決を無効にするにはどうすればよいですか?
マージ中に競合が発生し、mergetool を使用すると、 「マージ解決ツール (kdiff3) を開始するためにリターンを押してください」Enterという質問にヒットした直後に戻り、GUI が表示されず、競合が解決されたように見えることがあります。
現在、 KDiff3をmergetoolとして使用するようにGitを構成していますcodecompare
が、mergetoolを指定したときにも発生しました。KDiff3 には、理論的に説明されている動作を引き起こす可能性のあるオプション「競合なしでマージ時に自動保存して終了」があることを知っていますが、私はこのオプションを常に無効/チェック解除しています。
また、Git mergetool gitconfig に直接trustExitCodeオプションがあり、これを true に設定しましたが、false に設定しても GUI が表示されません。
とにかく、誰が自動解決を行うのかわかりません。いくつかの前処理または KDiff3 の Mergetool?
私は Windows で実行しており、Git 拡張機能がインストールされています。
KDiff3に固有の同様の質問がここでも尋ねられました: Kdiff3 は mergetool コマンドで開かない
version-control - P4Merge と DiffMerge の主な違い
私のチームは、ツールボックスに追加する強力な 3 方向のマージ ツールを探しています。P4Merge と DiffMerge を私たちの最有力候補として特定しました。なぜなら、これらはここ SO (SO コミュニティに感謝します) で最高と見なされており、企業のライセンス条件を満たしているからです。
最終決定のために、両方のツールの機能を比較する必要があります。違いの 1 つは、たとえば DiffMerge は 3 方向マージで共通の祖先コンテンツを表示しないことです。
これらのツールの主な差別化要因は何ですか?
(この質問は P4Merge と DiffMerge に関するものであることに注意してください。他にも利用可能なマージ ツールがあることは知っていますが、ここでは考慮していません。)