我上演了一些改变来承诺; 如何查看为下一次提交而暂存的所有文件的差异?我知道git状态,但我想看到实际的差异 - 而不仅仅是分阶段文件的名称.
我看到git-diff(1)手册页说
git diff [--options] [ - ] [...]
此表单用于查看您对索引所做的更改(下一次提交的暂存区域).换句话说,差异是你可以告诉git进一步添加到索引但你还没有.您可以使用git-add(1)暂存这些更改.
不幸的是,我无法理解这一点.必须有一些方便的单行,我可以创建一个别名,对吗?
Git索引究竟包含什么,以及我可以使用什么命令来查看索引的内容?
更新
谢谢你的所有答案.我知道索引充当临时区域,提交的内容是索引而不是工作树.我只是对索引对象的内容感到好奇.我想它可能是文件名/目录名列表,SHA-1对,也许是一种虚拟树?
在Git术语中,是否有任何可用于列出索引内容的管道命令?
我对Git中登台目录(Git Index)的命名感到困惑.
是否有任何特殊含义,称为指数?为什么不调用Cache /或Temp目录以便我们更容易理解?
对我来说,索引是帮助我们更快地搜索的东西,比如DBMS中的索引,它与暂存区域有什么关系?
我做了一些谷歌搜索,但仍然没有太多的想法.ref链接Git索引
当我需要在签出到另一个分支之前从一个分支保存我的更改时,git有时会说:在您可以签出到另一个分支之前暂存或提交文件.但我建议使用存储选项,以便:
在签出到另一个分支之前,暂存文件不足以保存我的文件?
stage和stash文件有什么区别?
谢谢
给定一个 Git 存储库和一个提交的文件a。
我使用 O/S 命令删除文件: $ rm a
调用git status返回:
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: a
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
接下来,我调用git rm其次是git status哪个产生:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: …Run Code Online (Sandbox Code Playgroud)