git - 如何理解 Git Stage 是 Git 中最重要的概念之一?
问题描述
我用 Git 很长时间了,但最近我很困惑为什么我们需要 git add 或者为什么有些文档说“Git stage 是 Git 中最重要的设计之一”。有人说,这是为了添加部分已修改的文件以供提交,并将一些修改后的文件留给下次提交。但是对于这个解释我不满意,有人可以从 Git 低级解释吗?“舞台”设计的深层含义是什么?
解决方案
暂存有许多用途,但基本原则是将大量更改分解为较小更改的能力。
可能有许多不同的用例可以使用此功能。然而,也许最明显和最具说明性的一个如下......
想象一个场景,您对(比如说)6 个文件进行了更改。您随后意识到,其中 2 个已更改的文件根本不需要更改,其余 4 个文件中有两个独立的、相关但独立的更改,您希望将它们作为单独的更改保留在更改历史记录中。
分期:
您可以首先对已更改文件进行第 2 阶段,然后使用描述该更改的适当提交消息提交该阶段。
完成后,您可以暂存您希望提交的 2 个剩余更改,并使用它们自己的、单独的和相关的提交消息分别提交这些更改。
最后,在安全提交所需更改后,您现在可以硬重置以丢弃您不希望保留在其余两个已更改文件中的更改。
如果没有分期,您将不得不将更改复制到树外的某个位置,然后再将它们复制回来。
推荐阅读
- python - Pythorch 错误 - UnboundLocalError:分配前引用了局部变量“out”
- python - 使用 POstgres 进行不区分大小写的搜索
- angular - Htaccess 重定向到 index.html,包括分号和 urlencoded 字符
- python - 如何发出明确的警告命令?
- google-chrome - 如何以编程方式打开 chrome 同步
- rust - 非mut变量是可变的导致崩溃
- r - 如何在 ggplot 中为多个变量和绘图创建唯一的图例/颜色标签
- c# - 如何使用 ML.Net 实现具有树数据结构的 MultiClassClassification
- date - 日期自动过滤器的 IF 条件
- css - Flex 元素重叠 chrome 89 错误