Diff当前文件版本和前一个远程存储库

Osc*_*Ryz 15 git diff

如何将工作文件版本与远程存储库中的某些先前版本区分开来?

说,我今天拉,执行6 - 8提交到我的本地副本,然后想看到我的最新工作版本(给定文件)和最新的远程或任何其他版本之间的差异.

mea*_*gar 12

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

# what change was introduced to origin/master in the last 4 commits?
git diff origin/master origin/master~3
Run Code Online (Sandbox Code Playgroud)

如果要根据最近的第5次提交来区分当前工作目录,则origin/master省略第一个参数:

git diff origin/master~4
Run Code Online (Sandbox Code Playgroud)

  • `~`和`^`有什么区别? (3认同)
  • @ganders不,这不是主要的区别.`^`用于导航合并提交和选择父级,用于水平导航.```总是沿着第一个父路径向后行进,以便垂直导航.您可能会使用`^`与`~`一样使用数字,除非`~2`表示"两个提交前",`^ 2`表示"给定提交的第二个父". (3认同)

GoZ*_*ner 11

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

git diff <remote>/<branch>
Run Code Online (Sandbox Code Playgroud)

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

git fetch <remote> <branch>
git diff <remote>/<branch>
Run Code Online (Sandbox Code Playgroud)

如果要将diff限制为仅包含文件或目录中的所有文件,请使用:

git diff <remote>/<branch> -- /path/to/file
git diff <remote>/<branch> -- /path/to/           #all files in directory
Run Code Online (Sandbox Code Playgroud)

您可以使用git difftool ...启动视觉差异工具(假设您的计算机上存在一个).