git book似乎与git commit --amend
:
此命令将占用您的暂存区域并将其用于提交。如果 自从你上次提交以来,你没有做任何改变......,然后是你的 快照看起来完全一样,你所要改变的就是你的 提交消息。
首先它说,"此命令占用您的暂存区域并将其用于提交。"
现在,如果我运行git add -A; git commit -m "Initial"; git status;
,状态消息显示暂存区域为空。
然后这本书说,"如果自上次提交以来你没有做出任何改变......你的快照将看起来完全一样......"
现在,如果它使用我的(空)暂存区域进行提交,那么修改后的提交是否应为空?修改后的提交不是空的,它包括上一次提交中的文件。
git书似乎应该是:
此命令将获取您的暂存区域,将其添加到上次提交,并从组合中创建新的提交...
请帮帮我。什么,如果有的话,我错过了什么?
答案 0 :(得分:4)
措辞有点尴尬,但你的解释是正确的。这正是--amend
所做的。
这本书似乎在说它不会自动为提交添加非分段更改。
正如你正确地注意到的那样(正如本书所说的那样,在我看来,以一种不清楚的方式)会发生什么事情,旧的提交被另一个提交所取代,提交与原始提交相同,但是(潜在地)新的提交消息和新的时间戳和提交哈希。这就是快照的意思:那个时刻的回购状态。
当然,如果你有DID进行了阶段性更改,那么这些更改将被转移到新提交中。