分支和主干上的单次提交之间的区别
Difference between single commit on branch and trunk
我已经看到了所有关于差异文件的问题,但是 none 确实符合我的用例。
情况:
a - b - c - d (master)
\ e (tag) - f - g - h (my_branch)
现在我希望看到差异,就像我将 h
挑选到 d
上一样。
当您正在开发稳定版本的软件并需要针对主干发送补丁时,就会发生这种情况。
有谁知道我怎样才能产生这样的差异?
要查看 2 次提交之间的区别,只需执行 git diff h d
.
根据评论进行编辑
我能想到的最少步骤是:
git checkout master
git cherry-pick h --no-commit
git diff --staged
git reset --hard
我能想到的最好的办法是你在不提交的情况下进行樱桃挑选,然后你可以看到差异,我知道这不是很优雅
git cherry-pick -n <commit> # get your patch but dont commit
然后您可以使用 git diff
查看更改,然后如果您实际上不想提交它们而是删除它们
git reset # unstage
git checkout -- application/ # or whatever folder your files are in
这就是我最好的尝试,希望对您有所帮助
我已经看到了所有关于差异文件的问题,但是 none 确实符合我的用例。
情况:
a - b - c - d (master)
\ e (tag) - f - g - h (my_branch)
现在我希望看到差异,就像我将 h
挑选到 d
上一样。
当您正在开发稳定版本的软件并需要针对主干发送补丁时,就会发生这种情况。
有谁知道我怎样才能产生这样的差异?
要查看 2 次提交之间的区别,只需执行 git diff h d
.
根据评论进行编辑
我能想到的最少步骤是:
git checkout master
git cherry-pick h --no-commit
git diff --staged
git reset --hard
我能想到的最好的办法是你在不提交的情况下进行樱桃挑选,然后你可以看到差异,我知道这不是很优雅
git cherry-pick -n <commit> # get your patch but dont commit
然后您可以使用 git diff
查看更改,然后如果您实际上不想提交它们而是删除它们
git reset # unstage
git checkout -- application/ # or whatever folder your files are in
这就是我最好的尝试,希望对您有所帮助