git - git add 后文件未显示在 git diff 中。我怎么知道它会被提交?

标签 git file commit git-commit git-diff

我有一个未跟踪的文件,它没有出现在 git diff 中,当我将它添加到“待提交的更改”区域时,它仍然没有出现在 git diff 中。当我对 HEAD 进行比较时,我出现了 git status -v

我对 git 还是很陌生,所以谁能告诉我文件是否会被提交,即使它没有出现在常规 diff 中,因为它已被添加到暂存区?

最佳答案

如果你想在 diff 中看到 staged 变化,你仍然可以使用 git diff,你只需要传递 --staged 标志:

david@pav:~/dummy_repo$ echo "Hello, world" > hello.txt
david@pav:~/dummy_repo$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   hello.txt
nothing added to commit but untracked files present
david@pav:~/dummy_repo$ git add hello.txt
david@pav:~/dummy_repo$ git diff
david@pav:~/dummy_repo$ git diff --staged
diff --git a/hello.txt b/hello.txt
new file mode 100644
index 0000000..76d5293
--- /dev/null
+++ b/hello.txt
@@ -0,0 +1 @@
+Hello, world

如果你只关心暂存哪些文件,你当然可以做一个 git status,但是 git diff --staged --name-only 会给每个在自己的行上暂存文件名。

关于git - git add 后文件未显示在 git diff 中。我怎么知道它会被提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167901/

相关文章:

git - 删除 git 历史记录中具有多个分支的特定提交?

c++ - 忽略多行注释 git diff

objective-c - xcode文件打开原生C

git 强制 check out 重复分支?

c++ - 使用 stat 列出文件及其信息

c# - C#读写文件的不同方式

Android 共享首选项分配不会在模拟器 session 之间持续存在

asynchronous - 数据库事务和集成事件调度 - 如何使其原子化?

git - 如何将图像添加到 Stash 中的自述文件

git - 将文件从一个存储库的特定提交/哈希复制到另一个(不相关)存储库