git - 不能 git diff。文件存在于两个分支中,但得到 "fatal: Path ' .. .' exists on disk, but not in ' master'”?

标签 git

这是我在尝试比较分支和主文件之间的文件时得到的结果:

git diff gamemodes/terrortown/entities/entities/ttt_c4/shared.lua  
         master:gamemodes/terrortown/entities/entities/ttt_c4/shared.lua

fatal: Path 'gamemodes/terrortown/entities/entities/ttt_c4/shared.lua' 
       exists on disk, but not in 'master'.

这是master上的文件:

$ git log -n 1 -- gamemodes/terrortown/entities/entities/ttt_c4/shared.lua
commit d0241471298ce617b68dcf268be1c0af0cf8170c
Author: me
Date:   Fri Jan 1 23:25:17 2016 -0600

    December 2015 Update

这是我分支 real_disarm 上的文件:

$ git log -n 1 -- gamemodes/terrortown/entities/entities/ttt_c4/shared.lua
commit 84a7de46b92b8747cf98a57a8f7101682377980e
Author: me
Date:   Sun Jan 10 00:27:33 2016 -0600

    Remove trailing whitespace

显然该文件存在于两个分支中。我比较文件的全部原因是因为我试图删除尾随空格,这样我的补丁就不会发出烦人的“警告:压制 5 个空格错误警告:10 行添加空格错误。”输出。

最佳答案

您可以在“How can I compare files from two different branches?”中找到不同的方法来将文件与来自另一个分支的文件自身进行比较。

在你的情况下:

git diff ..master -- gamemodes/terrortown/entities/entities/ttt_c4/shared.lua

参见 Mark Longair关于“What are the differences between double-dot “..” and triple-dot “…” in git diff commit ranges?”的回答

..master 将显示当前分支(HEAD)的tipmaster 之间的区别.

关于git - 不能 git diff。文件存在于两个分支中,但得到 "fatal: Path ' .. .' exists on disk, but not in ' master'”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35824440/

相关文章:

Git:新存储库,尝试从系统推送现有存储库时出错

通过清除存储库历史记录来释放 git 磁盘空间

git - 如何在不下载文件对象的情况下进行 git clone

git:是否有类似每个分支标签的东西?

git - 在冲突的 git merge 后清理?

HEAD :refs/for/master 的 git 别名

git - git checkout master + git reset --hard 会做什么?

git - 仅显示修订版中更改的(完整)文件名

git - 如何在 Windows 上的 Git Bash 中设置 rebase

c++ - 无法在Windows 10的终端机上为qt5.10.1运行编译器 'cl'