如何对比未执行git add的已修改跟踪文件与指定远程分支
对比未暂存已修改跟踪文件与非上游指定远程分支的方法
操作步骤
- 先拉取目标远程分支的最新内容到本地缓存(该操作不会修改你当前工作区、暂存区的任何内容,不会覆盖本地修改)
举个实际例子,如果你要对比的是git fetch <远程仓库名> <目标远程分支名>origin远程下的release/v2分支,这条命令就写git fetch origin release/v2 - 直接执行diff命令即可查看差异:
对应上面的例子,命令就是git diff <远程仓库名>/<目标远程分支名>git diff origin/release/v2
补充说明
- 上述
git diff命令默认的对比逻辑,就是拿工作区内已跟踪、未执行git add暂存的文件内容和指定参考分支做对比,完全匹配当前场景,不需要额外加参数。 - 如果只想查看某一个/某几个特定文件的差异,在命令末尾加
--后接文件路径即可,比如只看src/main.js的差异:git diff origin/release/v2 -- src/main.js - 不要用
git pull替代第一步的git fetch:git pull会自动尝试将远程分支内容合并到当前本地分支,很容易打乱你当前未提交的修改状态。 - 如果跳过第一步直接执行diff命令,对比的是你本地上次拉取时缓存的远程分支版本,不是远程仓库当前的最新版本,可能出现差异结果不准的问题。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

