私はGitを使用していますウブントゥ 10.04(ルシッドリンクス)。
マスターにいくつかコミットしました。
ただし、これらのコミットの差異を取得したいのですが、それらはすべてマスター ブランチにあります。
例えば:
commit dj374
made changes
commit y4746
made changes
commit k73ud
made changes
k73ud と dj374 の違いを調べたいのですが、次の操作を行ったところ、 で行った変更が反映されませんでしたk73ud
。
git diff k73ud..dj374 > master.patch
ベストアンサー1
試す
git diff k73ud^..dj374
k73ud
結果の diff にすべての変更が確実に含まれるようにします。
git diff
2つのエンドポイントを比較します(コミット範囲の代わりに)。OPは によって導入された変更を確認したいのでk73ud
、最初の親コミットk73ud
:k73ud^
(またはk73ud^1
またはk73ud~
)。
こうすることで、結果には以降に導入された変更(まで)ではなく、親以降のdiff
変更 (つまり、それ自体からの変更を含む) が含まれるようになります。 k73ud
k73ud
k73ud
dj374
また、以下も試すことができます:
git diff oldCommit..newCommit
git diff k73ud..dj374
および(スペース1つ以上):
git diff oldCommit newCommit
git diff k73ud dj374
ファイル名のみを取得する必要がある場合(たとえば、手動で修正プログラムをコピーする場合):
git diff k73ud dj374 --name-only
そして、別のブランチに変更を適用することもできます。
git diff k73ud dj374 > my.patch
git apply my.patch