【发布时间】:2021-05-20 01:50:03
【问题描述】:
我正在看 Coursera 的 git 课程。
有一部分我不明白讲师在哪里说过,“暂存和提交之间的单独步骤允许我们在一次提交中暂存多个更改。”
我很困惑,因为据我所知,一个提交命令会提交多个更改,而不是进行多个更改。如果我想进行更改,我不必调用 git add 命令吗?
请让我知道我缺少什么。
【问题讨论】:
我正在看 Coursera 的 git 课程。
有一部分我不明白讲师在哪里说过,“暂存和提交之间的单独步骤允许我们在一次提交中暂存多个更改。”
我很困惑,因为据我所知,一个提交命令会提交多个更改,而不是进行多个更改。如果我想进行更改,我不必调用 git add 命令吗?
请让我知道我缺少什么。
【问题讨论】:
如果我想暂存更改,我不必调用 git add 命令吗?
如果您想暂存然后提交 所有 更改,您可以:
git commit -am "all changes"
但如果您想提交一些更改,您可以通过先将文件添加到缓存中来准备下一次提交。
见“GitHowTo: Staging and committing”
git 中的暂存步骤允许您继续对工作目录进行更改,并且当您决定要与版本控制交互时,它允许您在小提交中记录更改。
假设您编辑了三个文件(
a.html、b.html和c.html)。
之后,您需要提交所有更改,以便对a.html和b.html的更改是一次提交,而对c.html的更改在逻辑上与前两个文件没有关联,而是在单独的提交中完成。理论上你可以做到以下几点:
git add a.html git add b.html git commit -m "Changes for a and b"然后:
git add c.html git commit -m "Unrelated change to c"将暂存和提交分开,您有机会轻松自定义提交的内容。
【讨论】:
暂存和提交之间的单独步骤允许我们在一次提交中暂存多个更改。
它强调 staging(即add 命令)和 committing 是不同的步骤,它允许在您提交之前进行多个 staging 轮次(如果需要)。
但您确实可以将所有内容暂存,然后只提交一次。没有说(甚至暗示)提交阶段的事情。句子的主语是单独的步骤)
什么不清楚?
【讨论】: