如何将我的工作文件版本与远程存储库中的某个先前版本进行比较?
比方说,我今天拉,对我的本地副本执行6-8次提交,然后想要查看我的最新工作版本(给定文件)与远程或任何其他版本的最新版本之间的差异。
发布于 2012-05-17 06:06:02
如果你在谈论一个远程分支,比如说origin/master,你可以使用~和^来引用相对于一个分支的祖先提交,就像引用本地分支一样:
# what change was introduced to origin/master in the last 4 commits?
git diff origin/master origin/master~3如果您希望将当前工作目录与origin/master上的第五个最近提交的目录进行比较,则可以省略第一个参数:
git diff origin/master~4发布于 2012-05-17 08:12:57
要查看您的“最新工作版本”(我将其作为工作副本)之间的差异,请使用:
git diff <remote>/<branch>如果您认为其他人已经推送到遥控器,那么您需要获取更改:
git fetch <remote> <branch>
git diff <remote>/<branch>如果您想将diff限制为仅一个文件或某个目录中的所有文件,请使用:
git diff <remote>/<branch> -- /path/to/file
git diff <remote>/<branch> -- /path/to/ #all files in directory你可以使用git difftool ...来启动一个可视化的比较工具(假设你的机器上有一个)。
发布于 2014-01-28 14:33:27
假设path/to/file.txt是提交给远程分支origin/master的某个文件,它也在我的工作区中,提交给本地分支my-branch。
已提交远程分支的最新版本path/to/file.txt与我的工作区中的(可能未提交)版本之间的差异:
git diff origin/master:path/to/file.txt path/to/file.txt三次提交远程分支的path/to/file.txt版本与我的工作区中的(可能未提交)版本之间的差异:
git diff origin/master~3:path/to/file.txt path/to/file.txt提交给远程分支的最新版本的path/to/file.txt与提交给my-branch的最新版本之间的差异
git diff origin/master:path/to/file.txt my-branch:path/to/file.txthttps://stackoverflow.com/questions/10627389
复制相似问题