[解決済み】`git diff --patience` は何のためにあるのですか?
2022-04-06 15:32:02
質問
忍耐アルゴリズムとデフォルトの
git diff
また、どのような場合に使用するのでしょうか?
どのように解決するのですか?
を読むことができます。 Bram Cohenの投稿 忍耐の差分アルゴリズムの作者ですが、私が見つけたのは このブログの記事 は、patience diff アルゴリズムを非常にうまくまとめています。
<ブロッククオートPatience Diffは、その代わりに、テキスト中の重要な内容のマーカーまたは署名として機能する、頻度の低い高内容の行にエネルギーを集中させます。これはLCSベースの差分であることに変わりはありませんが、重要な違いとして、署名行の最長共通部分のみを考慮する点が挙げられます。
<ブロッククオート両側でちょうど1回ずつ出現する行をすべて見つけ、それらの行について最長公約数を行い、一致させる。
どのような場合に 使用 忍耐の差分? Bramによると、patience diffはこのような状況に適しているそうです。
本当に悪いケースは、2つのバージョンが乖離している場合です。 開発者がパッチのサイズに気を配っていない場合 を制御しています。このような状況では、diffアルゴリズムが時折 長い中括弧の部分をマッチングさせるため、「ミスアライン」になってしまう。 の関数の中括弧を関連付けることになります。 あるバージョンの関数の中括弧と、その次のバージョンの関数の中括弧と 他のバージョン このような状況は 非常に醜い ということになりかねません。 このようなものが必要な状況では、使用できないコンフリクトファイルです。 最も首尾一貫した形で表示されます。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み】GitHub: クローンには成功したが、チェックアウトに失敗した
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
git commits with an error: 更新が拒否されました。現在のブランチの先端が、このブランチより後ろにあるためです。
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] "would clobber existing tag "を取り除くには?
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] ssh-keygen' は内部コマンドまたは外部コマンドとして認識されません。