【问题标题】:How to show uncommitted changes in Git and some Git diffs in detail如何详细显示 Git 中未提交的更改和一些 Git 差异
【发布时间】:2016-06-28 23:03:33
【问题描述】:

如何在 Git 中显示未提交的更改?

STFW'ed,这些命令不起作用:

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>...]'

【问题讨论】:

    标签: git git-diff


    【解决方案1】:

    如何在 Git 中显示未提交的更改

    您要查找的命令是git diff

    git diff - 显示提交、提交和工作树等之间的更改


    这里有一些你可以使用的选项

    git diff(无参数)
    打印出您的工作目录和索引之间的差异。

    git diff --cached
    打印出 index 和 HEAD(当前提交)之间的差异。

    git diff HEAD
    打印出您的工作目录和 HEAD 之间的差异。

    git diff --name-only
    仅显示更改文件的名称。

    git diff --name-status
    仅显示已更改文件的名称和状态

    git diff --color-words
    逐字比较,而不是逐行。

    这是git diff --color-words 的输出示例:


    【讨论】:

    • 当你看到最后的冒号提示时,这意味着 git 已经显示了第一页 - 按 enter 逐步完成其他更改(就像你可以使用 cat file | more)
    • --staged 和 --cached 是同义词
    • 为了完整起见,我将包括 git diff dev..origin/dev
    • 重要的是要注意,您需要输入HEAD 全部大写。我尝试使用Head,但失败了。
    【解决方案2】:

    您已经暂存了更改(可能是通过运行git add),因此为了获得它们的差异,您需要运行:

    git diff --cached
    

    (普通的git diff 只会显示未分级的更改。)

    例如:

    【讨论】:

      【解决方案3】:

      对我来说,唯一有效的是

      git diff HEAD
      

      包括暂存文件,git diff --cached 只显示暂存文件。

      【讨论】:

        【解决方案4】:

        我遇到了git status显示变化的情况,但是git diff什么也没打印,尽管有几行发生了变化。然而:

        $ git diff data.txt > myfile
        $ cat myfile
        <prints diff>
        

        Raspbian 上的 Git 2.20.1。 git checkoutgit pull 等其他命令可以毫无问题地打印到标准输出。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-02-13
          • 1970-01-01
          • 2012-03-23
          • 2015-08-23
          • 2011-07-16
          • 1970-01-01
          • 1970-01-01
          • 2021-11-13
          相关资源
          最近更新 更多