[解決済み] githubの2つのブランチ間で1つのファイルのdiffを生成する方法
質問
1 つのファイルについて、2 つのバージョン間の差分を表示する diff を生成する必要があります(実際には github のタグです)。それから、この差分を電子メールで誰かに送りたいので、差分のための github URL があれば理想的です。github の比較ビューでは、変更されたすべてのファイルに対してこれを行うことができますが、私のレポには何千ものファイルがあるため、それは良いことではありません。
次のようにコマンドラインでこれを行うことができますが、電子メールで誰かに差分を送信する必要があるため、これは役に立ちません。
git diff tag1 tag2 -- path/to/file
ここで議論されているコマンドライン版を見つけました。 ローカルブランチとリモートブランチの指定ファイルの差分を見るにはどうしたらいいですか?
どのように解決するのですか?
GitHub では、2 つのコミット間の diff を表示する方法しか公開されていません。
これらのタグが実際にコミットを指しているのであれば、URL の形式は次のようになります。
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}
例として https://github.com/libgit2/libgit2sharp/compare/v0.9.0...v0.9.5 は、LibGit2Sharpプロジェクトの2つのバージョン間の差分を示しています。このdiffには、変更されたすべてのファイルが含まれています。
特定のファイルを対象としたURLを取得したい場合。
- に切り替えて 変更されたファイル タブ
- をクリックします。 差分の統計情報を表示する ボタンをクリックします (これにより、変更されたファイルの一覧がリンクとして表示されます)。
- 目的のファイルのリンクをクリップボードにコピーして、Tada! これで完了です。
たとえば、上記の diff がある場合、リンクは
https://github.com/libgit2/libgit2sharp/compare/v0.9.0...v0.9.5#diff-11
は
LazyFixtures.cs
は、バージョン v0.9.0 と v0.9.5 の間で発生した変更点を指します。
更新内容
diff が大きすぎて Web インターフェイスで表示できないというコメントを受けて、古き良きコマンド ライン ツールに戻すのはどうでしょうか。diff の出力をファイルにリダイレクトして、そのファイルを電子メールの添付ファイルとして送信することができます。
$ git diff v0.9.0 v0.9.5 -- LibGit2Sharp.Tests/LazyFixture.cs > /tmp/lazyfixture.diff
関連
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
[解決済み] 現在の支店にはトラッキング情報がありません
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] ファイルをリセットしたり、特定のリビジョンに戻したりするにはどうすればよいですか?
-
[解決済み] マージされたGitブランチをすべて削除するにはどうすればよいですか?
-
[解決済み] 2つのリビジョン間でどのファイルが変更されたかを表示する
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] ある 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】git revert <hash> not allowed due to a merge but no -m option was given.
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
gitアップロードの共通エラー処理
-
[解決済み] GitHubに空のブランチを作成する
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] git initを2回実行すると、リポジトリが初期化されますか?それとも既存のリポジトリを再初期化しますか?
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] git update-index --assume-unchanged <file> を元に戻す。