[解決済み】git diff ファイルを最後の変更と比較する
2022-04-06 01:07:05
質問
特定のファイルの現在の状態と、それを変更した最後のコミット以前の状態の差分を git に生成させることはできますか?
知っていればの話ですが。
$ git log --oneline myfile
123abc Fix some stuff
456def Frobble the foos
789dba Initial commit
次に
git diff 456def myfile
は、myfile の最後の変更を表示します。が生み出す知識なしで、同じことをすることは可能でしょうか?
git log
123abcで何が変わったのか?
解決方法は?
これは実際に存在するのですが、その機能は
git log
:
git log -p [-m] [--follow] [-1] <path>
なお
-p
は、単一のコミットからのインライン差分を表示するために使用することもできます。
git log -p -1 <commit>
使用したオプション
-
-p
(また-u
または--patch
の奥深くに隠されています。git-log
の表示オプションであり、実際にはgit-diff
. と一緒に使用するとlog
のように、生成されるパッチが表示されます。 各コミットに対して と共に、コミット情報および 隠す に触れないコミットは<path>
. (この動作については--full-diff
で、各コミットの完全な差分が表示されるようになります)。 -
-m
を指定すると、マージコミットに diff の内容が含まれるようになります (そうでない場合は、コミットメッセージが表示されるだけで、まるで-p
が指定されていない場合)。 -
-1
ショー ちょうど への最新の変更。 指定されたファイル (-n 1
の代わりに使用することができます。-1
); それ以外の場合は すべて そのファイルのゼロでない差分が表示されます。 -
--follow
は、リネームの前に発生した変更を見るために必要です。
私が知る限り、これは、あるファイルに対して行われた最後の変更のセットを
git log
(など)を使って、間にあるリビジョンの数を数えたり、コミットのハッシュを決定したりすることができます。
古いリビジョンの変更を見るには、ログをスクロールするか、ログを開始するコミットまたはタグを指定してください。(もちろん、コミットやタグを指定すると、正しいコミットやタグが何であるかを見つけるという、元の問題に戻ってしまいます)。
クレジットが必要な場合
関連
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] 隠し場所に対する Git の diff
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る
-
[解決済み】コミット前にgitでファイルdiffを表示する方法
最新
-
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, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】マージの競合が発生した git stash pop の取り消し
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る