首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较当前文件版本和以前的一个远程存储库

比较当前文件版本和以前的一个远程存储库
EN

Stack Overflow用户
提问于 2012-05-17 06:02:35
回答 3查看 19.2K关注 0票数 15

如何将我的工作文件版本与远程存储库中的某个先前版本进行比较?

比方说,我今天拉,对我的本地副本执行6-8次提交,然后想要查看我的最新工作版本(给定文件)与远程或任何其他版本的最新版本之间的差异。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-17 06:06:02

如果你在谈论一个远程分支,比如说origin/master,你可以使用~^来引用相对于一个分支的祖先提交,就像引用本地分支一样:

代码语言:javascript
运行
复制
# what change was introduced to origin/master in the last 4 commits?
git diff origin/master origin/master~3

如果您希望将当前工作目录与origin/master上的第五个最近提交的目录进行比较,则可以省略第一个参数:

代码语言:javascript
运行
复制
git diff origin/master~4
票数 12
EN

Stack Overflow用户

发布于 2012-05-17 08:12:57

要查看您的“最新工作版本”(我将其作为工作副本)之间的差异,请使用:

代码语言:javascript
运行
复制
git diff <remote>/<branch>

如果您认为其他人已经推送到遥控器,那么您需要获取更改:

代码语言:javascript
运行
复制
git fetch <remote> <branch>
git diff <remote>/<branch>

如果您想将diff限制为仅一个文件或某个目录中的所有文件,请使用:

代码语言:javascript
运行
复制
git diff <remote>/<branch> -- /path/to/file
git diff <remote>/<branch> -- /path/to/           #all files in directory

你可以使用git difftool ...来启动一个可视化的比较工具(假设你的机器上有一个)。

票数 12
EN

Stack Overflow用户

发布于 2014-01-28 14:33:27

假设path/to/file.txt是提交给远程分支origin/master的某个文件,它也在我的工作区中,提交给本地分支my-branch

已提交远程分支的最新版本path/to/file.txt与我的工作区中的(可能未提交)版本之间的差异:

代码语言:javascript
运行
复制
git diff origin/master:path/to/file.txt path/to/file.txt

三次提交远程分支的path/to/file.txt版本与我的工作区中的(可能未提交)版本之间的差异:

代码语言:javascript
运行
复制
git diff origin/master~3:path/to/file.txt path/to/file.txt

提交给远程分支的最新版本的path/to/file.txt与提交给my-branch的最新版本之间的差异

代码语言:javascript
运行
复制
git diff origin/master:path/to/file.txt my-branch:path/to/file.txt
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10627389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档