Git在提交之前比较文件

mal*_*s98 25 git github github-for-windows

在git中是否有一个功能,我可以在提交更改之前将我的本地文件与git源代码控件进行比较?

Kar*_*ose 52

当然你可以做到.

  1. 使用git diff不带任何参数的命令:将文件系统中的每个已修改文件与当前签出分支(或)标记中的文件进行比较.

  2. 使用git diff <tag(or)branch name>:将文件系统中的每个已修改文件与指定分支(或)标记中的文件进行比较.

  3. 使用git diff <path/to/file_name (or) path/to/folder>:将文件系统文件夹中指定的文件与当前签出的分支(或)标记进行比较.

  4. 使用git diff <tag1(or)branch1 name> <tag2(or)branch2 name>:将比较两个分支/标签之间的所有修改文件.

有很多选项,您可以传递给'git diff'命令来格式化输出.这里我列举了几个:

  • git diff --name-only :仅显示已更改文件的名称,而不显示内容.
  • git diff --name-status :仅显示已更改文件的名称和状态.
  • git diff --cached (or --staged) :仅比较暂存/索引的文件.

有关更多信息:git diff --help在您的git bash中执行.

仅供参考:git diff将在命令行中生成输出.如果要在某些可视化工具中查看输出,请使用git difftool.

使用git difftool:您可以配置git以使用diff/merge工具来比较文件.查看此链接:在Git中使用Winmerge来文件差异

您也可以传递所有git diff参数和选项git difftool.


Fra*_*aro 11

我喜欢用

git status
Run Code Online (Sandbox Code Playgroud)

它将显示哪些文件已更改以及您要跟踪的内容.然后你可以使用

git diff
Run Code Online (Sandbox Code Playgroud)

或者更友好的GUI

gitk
Run Code Online (Sandbox Code Playgroud)

看到差异.

  • 此外,如果你想检查已经上演的内容(在索引中)你可以使用git diff --cached. (2认同)