仓库与三个区域
建一个仓库或克隆一个,并分清工作区、暂存区、仓库这三个地方。分不清这三者,后面的命令都会让你晕。
学习目标
- 能把一个空文件夹变成仓库
- 能把别人的仓库克隆到本地
- 能画出文件在三个区域之间怎么移动
得到仓库有两条路:git init 把你现在的文件夹变成仓库,git clone 把已有的仓库整个搬下来。两种做法都会在文件夹里生成一个隐藏的 .git 目录。这个目录就是仓库本体,所有历史和配置都在里面。删掉它,历史全没;只要留着它,其他文件随时能还原。
用 GIT 时,心里要始终清楚文件此刻在哪个区。工作区是你在编辑器里看到的真实文件。暂存区(index)是「这次提交要带上的东西」的候车室。仓库是提交之后被钉进历史的地方。文件靠 add 从工作区进暂存区,靠 commit 从暂存区进仓库。
中间多这一层,是为了让你能挑着提交。哪怕改了五个文件,也可以只挑出相关的两个凑成一次提交。正是这个能力,让日后的历史读起来清楚,出问题时能迅速找到罪魁提交。这是不少其他版本管理工具没有的长处。
本步骤要掌握的命令
别光用眼睛看,去终端里真敲一遍。手记住了,工作时才使得出来。
git init- 把当前文件夹变成新仓库,会生成 `.git`。
git clone <URL>- 把远程仓库整个克隆下来,历史也一并带过来。
git status- 显示三个区域的当前状态。卡住了,永远先敲这条。
ls -a- 连隐藏文件一起列出来,亲眼确认 `.git` 真的在。