gpt4 book ai didi

git - git commit --amend 是否包含上次提交中的文件?

转载 作者:太空狗 更新时间:2023-10-29 14:00:20 25 4
gpt4 key购买 nike

git 书似乎与 git commit --amend 自相矛盾:

This command takes your staging area and uses it for the commit. If you’ve made no changes since your last commit..., then your snapshot will look exactly the same and all you’ll change is your commit message.

首先它说,“这个命令获取你的暂存区并将其用于提交。”

现在,如果我运行 git add -A; git commit -m “初始”; git status; 状态消息表明暂存区是空的

然后书上说,“如果你自上次提交后没有做任何更改......你的快照看起来会完全一样......”

现在,如果它使用我的(空的)暂存区进行提交,修改后的提交不应该是空的吗?修改后的提交不是空的,它包括上次提交中的文件。

看来git书应该是这样写的:

This command takes your staging area, adds it to the last commit, and creates a new commit from the combination...

请帮帮我。如果有的话,我错过了什么?

最佳答案

措辞有点尴尬,但你的解释是正确的。这正是 --amend 所做的。

这本书似乎在说它不会自动将未暂存的更改添加到提交中。

相反,正如您正确注意到的那样(并且正如书中所说,我认为以一种不清楚的方式),旧提交被另一个提交替换,该提交与原始提交具有相同的更改,但 (可能)新的提交消息和新的时间戳和提交哈希。这就是快照的含义:当时存储库的状态。

当然,如果您 DID 进行了阶段性更改,这些更改将被滚动到新的提交中。

关于git - git commit --amend 是否包含上次提交中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com