小编kan*_*ayt的帖子

使用短标志了解 git status 的输出

$ git status -s
 M README
MM Rakefile
A  lib/git.rb
M  lib/simplegit.rb
?? LICENSE.txt
Run Code Online (Sandbox Code Playgroud)

输出有两列 - 左侧列表示暂存区的状态,右侧列表示工作树的状态。例如,在该输出中,工作目录中的 README 文件已修改但尚未暂存,而 lib/simplegit.rb 文件已修改并暂存。Rakefile 被修改、暂存,然后再次修改,因此对它进行了暂存和未暂存的更改。

以上来自 Pro Git,作者是 Scott Chacon 和 Ben Straub,由 Apress 出版。

我对暂存区和工作树之间的区别感到困惑。我会解释我认为是真实的。

“自述文件已在工作目录中修改但尚未暂存”:我们没有跟踪此文件。尽管如此,Git 知道它已被修改。从最后一个快照。

“lib/simplegit.rb 文件被修改并暂存”:修改后我们已经暂存了文件。剩下的就是提交。

“Rakefile 被修改,暂存,然后再次修改,因此它的更改既有暂存的,也有未暂存的。”:就像之前的文件一样,我们暂存了一个修改过的文件。下一步是什么?

git terminology

3
推荐指数
1
解决办法
2414
查看次数

为什么 git diff 与 git diff --staged 下的输出不同?

为什么我们需要这两者?在什么情况下它们在命令行上给出的输出会有所不同?

您能否解释一下两者在添加文件、暂存和修改等不同场景下的差异。那么什么是分阶段和非分阶段的变化呢?

git git-diff

-5
推荐指数
1
解决办法
1264
查看次数

标签 统计

git ×2

git-diff ×1

terminology ×1