我在 Ubuntu 10.04 (Lucid Lynx) 上使用 Git。
我已经向我的主人做了一些 promise 。
但是,我想了解这些提交之间的区别。他们都在我的主分支上。
例如:
commit dj374
made changes
commit y4746
made changes
commit k73ud
made changes
我想知道 k73ud 和 dj374 之间的区别。但是,当我执行以下操作时,我看不到我在
k73ud
中所做的更改。git diff k73ud..dj374 > master.patch
最佳答案
尝试
git diff k73ud^..dj374
确保在结果差异中包含
k73ud
的所有更改。git diff
比较两个端点 ( instead of a commit range )。由于 OP 希望看到
k73ud
引入的更改,他/她需要区分 first parent commit of k73ud
: k73ud^
(或 k73ud^1
or k73ud~
)。这样,
diff
结果将包括自 k73ud
父级以来的变化(意味着包括自 k73ud
本身的变化),而不是自 k73ud
以来引入的变化(1x1343141)。您也可以尝试:
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
关于git - 显示提交之间的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3368590/