如何在Git中显示未提交的更改?
我已STFW'艾德,这些命令不起作用:
teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git status
On branch teyan/psservice
Your branch is up-to-date with 'origin/teyan/psservice'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: psservice.c
modified: psservice.vcxproj.filters
teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff
teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff master
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
5条答案
按热度按时间yqkkidmi1#
如何在Git中显示未提交的更改
您要查找的命令是***
git diff
***。***
git diff
***-显示提交、提交和工作树之间的更改等下面是它提供的一些选项,您可以使用它们
***
git diff
***(无参数)打印出工作目录和索引之间的差异。
***
git diff --cached
***:打印出index和HEAD(当前提交)之间的差异。
***
git diff HEAD
***:打印出工作目录和HEAD之间的差异。
一米五米一x
仅显示更改文件的名称。
一米六米一x
仅显示已更改文件的名称和状态。
一米七米一x
逐字而不是逐行进行比较。
以下是
git diff --color-words
的输出示例:l3zydbqr2#
您已经暂存了更改(可能是通过运行
git add
),因此为了获取它们的diff,您需要运行:(普通
git diff
将仅显示未暂存的更改。)例如:
g6ll5ycj3#
对我来说,唯一有效的办法就是
包括暂存文件,
git diff --cached
仅显示暂存文件。smdncfj34#
我遇到了
git status
显示更改,但git diff
什么也不打印的情况,尽管有几行有更改。raspbian上的Git 2.20.1。其他命令如
git checkout
,git pull
打印到stdout没有问题。mrfwxfqh5#
这当然不是显示未提交文件的正确方法,但它是有效的:
git switch <current-branch>
输出: