'git diff --staged' 和 'git diff --cached' 命令有什么区别?

5

我刚开始学习git。我对命令git diff --stagedgit diff --cached有些困惑。


2
可能是这些git diff命令之间的区别是什么?的重复问题。 - Eli Sadoff
1
Pro Git开始。 - kostix
1
如果你对某个特定的命令感到困惑,那么你的第一步应该是查看该命令的帮助文档。输入 git diff --help,然后搜索特定的参数。 - Alderath
2个回答

7
在旧版本的git中,暂存区被称为cache/stage区域。现在它被称为index。
从文档可以看出:
--staged是--cached的同义词。
Stage/cache/index都是暂存区的同义词。这取决于你使用的git版本。它在途中被改成了index(今天称为index),但仍有一些命令使用--cached,如git diff、git rm --cached等。
Git Workflow图片:https://istack.dev59.com/IS1Ez.webp

谢谢。我之前对索引的概念有些困惑,你帮了我大忙! :) - Tanay
1
增加了图片,以便您更好地了解这是什么,它被称为3状态。 - CodeWizard
我可以跟着你去哪里吗? - Tanay
当然。我已经向您发布了一个我管理的 FB git 群组,[https://www.facebook.com/groups/git.dvcs/]。 - CodeWizard
以下是一些酷炫的答案,您可以从中学到很多东西。只需点击我的个人资料并阅读我提供的答案,就像这个问题: https://dev59.com/ulsW5IYBdhLWcg3w2qNM#34519716 - CodeWizard

2
这两者没有任何区别。来自git diff文档的说明如下:

--staged--cached 的同义词。


嗨!谢谢你的回答。我目前只是在死记硬背命令。你能推荐一些让我理解东西的方法吗?谢谢。 - Tanay
这里是一个很好的起点:git scm,[https://www.facebook.com/groups/git.dvcs/],[https://www.atlassian.com/git/]。 - CodeWizard
你应该从 Git book 开始学习。 - fracz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接