Git的四个存储区
存储区 | 描述 |
---|---|
工作区 | 我们进行代码编辑的地方 |
暂存区 | git add 就是将工作区的文件快照存入暂存区 |
本地存储区 | git commit 就是将暂存区的文件替换到本地存储区,这时,本地存储区的文件会被整体替换 |
远端存储区 | git push 就是将本地存储区的文件上传到远端存储区所在位置并进行完全替换 |
Git中的四种文件状态
状态 | 描述 |
---|---|
untracked | 还没提交到仓库中 |
unmodified | 自上次提交以来,还未修改过 |
modified | 文件被修改了,但还未提交 |
staged | 已经提交到暂存区 |
Git中的撤销
状态 | 描述 |
---|---|
git reset --hard | 工作区和暂存区都回到该次的head指向的结果(也即是该次提交的结果) |
git reset --soft | 工作区不变,暂存处回退 |
git revert | 相当于把某次的commit结果再commit一次,不会影响其他节点,也不会删除log日志 |
git checkout --file |
Git中的重要概念
staged area 暂存区
暂存区用于存储工作区的文件快照
快照
文件的复制样本,Git是典型的用空间换取时间的案例,Git用快照来进行分支的创建和切换,Git更多是关注哪些文件发生了变化,但不关心具体发生了哪些变化(当然也可以对比出前后详细的变化)
分支
Git使用分支来进行协作开发,每个开发者创建属于自己的分支,各个分支之间的文件除了公共部分外(从同一个分支创建快照得来),都是不同的,也就是每个开发者可以专注自己开发的模块,同时能够享受同伴代码更新带来的新的功能
merge
merge是指将不同的分支合并到主分支的过程,一般都会创建一个dev分支供开发者的代码合并之用,开发者在开发完成并commit之后,可以提交一个merge请求(不提交请求也没有关系),有主分支权限的开发者将请求者的代码合并到主分支上。这里要注意的是,不同的开发者,千万不要修改同一个文件,这会带来冲突
Git基本命令
Item | Value | Qty |
---|---|---|
Computer | 1600 USD | 5 |
Phone | 12 USD | 12 |
Pipe | 1 USD | 234 |