Git之stage

2020-06-06  本文已影响0人  LittleAnt

Question: commit 就 commit呗,为什么 commit 之前必须要 add 一下呢?

Answer:git commit 执行时,会提交暂存区的内容。git add 命令会将我们看到的修改添加到暂存区中,这就是为什么 git commit 之前要先执行 git add 的原因。
Other questions:add 将修改放入暂存区,那么 add 之前数据存放在哪里?commit 又将存储区的数据提交到什么地方了呢?以及为什么要这么分为几个存储部分?等看完这篇文章,希望你这些问题,都能找到答案。

Git 可以大概分为三个区

Git 本地数据管理,大概可以分为三个区,工作区,暂存区和版本库。

对比三个区之间的数据差别

命令 作用
git diff 工作区 vs 暂存区
git diff head 工作区 vs 版本库
git diff --cached 暂存区 vs 版本库

Stage 赋予 Git 更多灵活性

不知道stage时,经常会遇到束手无策的场景。知道后,你一定会十分感动,十分膜拜 Git 的开发者- Linus Torvalds ,stage 就是这么的精彩。以场景,只要理解 stage, 用好相应命令,都能轻易解决:

上面提到的 checkout & stash & reset 等命令,通过不同的参数搭配使用,可以在工作区,暂存区和版本库之间,轻松进行数据的来回切换。

结尾

暂存区是介于工作区和版本库之间的一个中间存储状态,很多命令都会涉及暂存区的状态,因此理解暂存区的存在是至关重要的。

上一篇 下一篇

猜你喜欢

热点阅读