[英]Does git commit --amend include the files that were in the last commit?
这本git书似乎与git commit --amend
相矛盾:
此命令将占用您的暂存区域并将其用于提交。 如果自上次提交后没有进行任何更改,那么您的快照将看起来完全相同,您将更改的是提交消息。
首先它说,“这个命令占用你的暂存区域并将其用于提交。”
现在,如果我运行git add -A; git commit -m "Initial"; git status;
git add -A; git commit -m "Initial"; git status;
状态消息表明暂存区域为空 。
然后这本书说:“如果自上次提交以来你没有做任何更改......你的快照看起来会完全一样......”
现在,如果它使用我的(空)暂存区域进行提交,那么修改后的提交不应该为空吗? 修改后的提交不是空的,它包括上次提交中的文件。
似乎git书应该是:
此命令将占用您的暂存区域,将其添加到上次提交,并从组合中创建新的提交...
请帮帮我。 什么,如果有的话,我错过了什么?
措辞有点尴尬,但你的解释是正确的。 这正是--amend
作用。
该书似乎在说它不会自动为提交添加未分级的更改。
相反,正如你正确地注意到的那样(正如本书所说的那样,在我看来,这是不明确的),旧的提交被另一个提交所取代,提交与原始提交相同,但是(可能的)新提交提交消息和新的时间戳和提交哈希。 这就是快照的意思:那个时刻的回购状态。
当然,如果你有DID进行了阶段性更改,那么这些更改将被转换为新提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.