問題タブ [git-diff]

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

git - 1つのファイルをGitの任意のバージョンに比較するにはどうすればよいですか?

pom.xmlたとえば、ファイルをマスターブランチからGitの任意の古いバージョンに比較するにはどうすればよいですか?

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

git - git diff (difftool ではない) と git log -p を *.sql ファイルと Windows PowerShell で動作させる

への呼び出しで違いを表示するように外部ツールを構成する方法を知っていますgit difftool。ただし、ファイルの履歴全体のすべての変更の「ダンプ」をコンソール ウィンドウに表示したい場合は、git log -p <filename>. 私が抱えている問題は、Windows 環境の *.sql ファイルにあります。 difftool(私の設定したツールを使用して)Unicodeファイルを正しく処理しますが、diffそうではありません。これは、内部で使用していると思い git log -pます。

特定の/構成された拡張子のファイルで「機能」する方法はありgit diffますか?実際には ANSI 文字しかなく、コンソールに出力された実際のテキストの変更を表示します (私の場合、コンソール内でホストされている Windows PowerShell)。

注: git diff に UTF16 を認識させることに関するこの質問/回答を見てきましたが、動作させることができませんでした (iconv と mktemp の両方がシステムに存在しませんでした)。

多分これは、唯一の解決策として検討/実験を続けるべきアプローチですか?または、私の唯一の解決策は、ANSI 文字のみが存在することがわかっているファイルが ANSI として保存されるようにすることです。*.sql ファイル (およびそれを認識していない他のファイル) で現在保持しているすべての履歴を失うのは残念です。現在、Unicode として保存されています - 私は Visual SourceSafe から新しく変換された git ユーザーなので、まだ変更したすべてのファイル タイプの違いを表示する必要はありません)。

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

git - Git の「ペアリングが壊れています」と「不明」のステータスは何を意味し、いつ発生しますか?

git diffたとえば、の一部のオプションでは--name-status、ファイル名の横にステータス レターが出力されます。彼らです:

A、C、D、M、R、T、U、X、B

…そして彼らは意味します

追加 (A)、コピー済み (C)、削除済み (D)、変更済み (M)、名前変更済み (R)、タイプ (通常のファイル、シンボリックリンク、サブモジュールなど) の変更 (T)、マージされていない (U)、不明 (X) )、またはペアリングが壊れています(B)。

質問:XとのステータスはどのようBに解釈されるべきですか? また、どのような状況でそれらが表示されるようになったのですか? の出力にそのようなステータスが表示されるまでの一連の手順とgit-diff、それらを修正する方法を教えてください。

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

git - git-diff をその子なしで 1 つのディレクトリのみに制限するにはどうすればよいですか?

git diff --name-status2 つのコミット間で変更/追加/削除/名前変更/コピーされたファイルを追跡するために使用していますが、うまく機能します。

ここで、ファイルfile1を に移動しnewdir/file1、コミットしてから git diff を実行すると、次のようになります。

指定されたディレクトリ内の変更のリストに制限するが、その子には制限しないように git に依頼する方法はありますか? newdirルート ディレクトリとディレクトリの両方の正確な変更を個別に知りたいです。の場合newdirは簡単です。

…しかし、ルート ディレクトリで「補足的な」差分情報を取得するにはどうすればよいですか? つまり、この出力:

-C同じディレクトリ内の名前変更とコピーを検出するオプションを保持したいことに注意してください。

0 投票する
4 に答える
26405 参照

git - Git - sha がある場合、以前のバージョンとの差分を確認する最も簡単な方法

私の同僚が Git にいくつかの変更をチェックインしました。私はそれらの変更が何であったかを正確に知りたいと思っています。言い換えれば、彼のチェックインとその親の間の違いです。

私にとって論理的に思えたのは、次のコマンドを実行することでした。

しかし、これはうまくいきませんでした。その SHA と現在の作業コピーとの差分が表示されているようです。

特定の SHA とその親の間の差分を表示する正しいコマンドは何ですか?

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

git - git diff:変数の名前変更を無視します

リファクタリングを行っているときに、変数の名前をからに変更しoldNameましたnewName。現在のgit diff違いを無視するようにコマンドに指示する方法はありますか?これを実行して、他の重要な変更のみに焦点を当てたいと思います。これが可能な場合は、無視するように複数の変数の名前変更を指定することもできます。たとえば、toからtoへの変更を無視します...?oldNamenewNameoldName1newName1oldName2newName2

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

git - 他の差分が競合するのに、なぜ Filemerge で差分の読み込みが競合しないのですか?

ファイルマージで差分をロードするように GIT を設定しましたが、競合が発生した場合、端末に差分を出力するだけです。

これを回避する方法、または競合を処理するためのより良いアプリはありますか?

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

git - git diff で opendiff を使用できません

git diff のデフォルトの diff ツールとして opendiff を使用したいと考えています。これは以前は機能していましたが、何らかの理由で機能しなくなりました。私はスクリプトを使用しています:

これは.gitconfigで設定されています:

これは最近私にとってはうまくいきませんでした。なにが問題ですか?

更新: 新しいリポジトリのクローンを作成すると、すべて正常に機能しました! 変!

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

git - Gitでは、ブランチの最初のコミットをどのように比較しますか?

ローカルブランチに対していくつかのコミットを行いましたが、現在持っているものをブランチの開始状態と比較するための最良の方法がわかりません。ブランチに6つのコミットがあった場合のようなことができることは知っていますがgit diff HEAD HEAD~6、コミットの数に依存しない何かを望んでいました。

編集:私はこれについて言及しませんでした:私が分岐したコミットのハッシュを取得するためにログを掘り下げる必要がないことを望んでいました。たとえば、80のコミットがある場合、これは楽しい作業ではありません。

また、私が分岐した元のブランチにはすでにいくつかの変更が加えられていると想定します。

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

git - git diff の /a /b プレフィックスの理由は何ですか

私はここ数年 Git を使用しておりgit diff、変更されたファイルの名前の前にa/b/. 最終的には便利なユースケースに出くわすだろうと思っていましたが、今までは常に面倒で役に立たなかった.

それは何のために良いですか?これがデフォルトで有効になっているのはなぜですか? どのような状況で役立ちますか?