我对Git很新,因此也许我在这里遗漏了一些东西。
dan@one:/var/www/$ git status -s
M GoogleChromeExtension.js
M ApiClient.js
很明显,2个文件已被更改 但是当我跑步时:
git diff
没有显示输出。我期待在我的工作副本和最新提交之间进行更改。
我相信昨天一切都在按预期工作......
是否可能是因为我没有将更改推送到远程服务器?
P.S。:我正在使用GitHub
谢谢,
丹
答案 0 :(得分:60)
执行git diff --cached
- 它会比较HEAD和索引,即为提交添加的内容。
只有一个git diff
位于索引和工作目录之间,所以如果所有更改都已提交进行提交,那么您将赢得“git diff
第三种形式是git diff <commit>
,用于比较工作目录和提交。所以做git diff HEAD
也会给你你想要的差异。
答案 1 :(得分:3)
根据具体情况,可能有两种解决方案。如果你没有使用短模式,那将是最好的,因为它隐藏了重要的调试信息。
如果您希望更改,请尝试运行git diff HEAD
以将工作目录与上次提交进行比较。如果您已经git add
编辑了更改,则默认的git diff操作将不显示这些差异。请参阅http://git-scm.com/docs/git-diff手册页描述中的内容。 git status
输出(不带-s)可以帮助每个人看看是否是这种情况。
或者,如果您没有预料到更改,则可能是操作系统/文件系统问题。请报告您的操作系统和文件系统信息。
答案 2 :(得分:1)
确保您实际上并不在另一个git存储库中。 如果出于某种原因上述命令失败,请尝试运行:
git show HEAD
答案 3 :(得分:0)
我刚刚遇到这个问题,发现它发生了,因为我更改了存储库的.gitattributes文件。您最近更改了任何.gitattributes文件吗?是否所有更改的文件都是相同类型的?例如,我最近的问题影响了* .sql文件。当我将更改撤消到.gitattributes时,源文件再次保持不变。
答案 4 :(得分:0)
使用--no-pager标志和diff
import requests
def telegram_bot_sendtext(bot_message):
bot_token = ''
bot_chatID = ''
send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&parse_mode=Markdown&text=' + bot_message
response = requests.get(send_text)
return response.json()
test = telegram_bot_sendtext("Testing Telegram bot")
print(test)
答案 5 :(得分:0)
git diff不显示最后两次提交之间的差异。 git diff显示上一次提交和您对代码所做的更改之间的差异。