Git小记

最近在使用Git,把自己这一段时间对Git的一些理解与困惑记录下来,以便自己回顾,如果能够帮助到别的网友那么也是极好的。


Git初步的分为

  • 工作区:本地电脑上的文件
  • 暂存区(stage or index):存放本地已经被add过的文件
  • 版本库(repository):一个仓库,存放所有被git管理的文件

1. 工作区

工作区:比较简单,就是你电脑本地的文件,这里不再做过多的解释。

2. 暂存区

暂存区:每当你对工作区的文件执行git add命令之后,暂存区的目录树就会被更新,且与工作区的目录树一致。

Note
暂存区可以理解为购物车,将所有你喜欢的东西(准备提交的文件)先集中到一起,便于管理,可以随时移除(git checkout --<filename>),也可以一次性全部付款(git commit

2.1. 当执行git commit后,master分支的会自动更新暂存区的目录树到自身,这个时候文件才真正的进入git仓库。

图片转自:http://www.liaoxuefeng.com/files/attachments/001384907702917346729e9afbf4127b6dfbae9207af016000/0

此时暂存区就没有内容了

图片转自:http://www.liaoxuefeng.com/files/attachments/0013849077337835a877df2d26742b88dd7f56a6ace3ecf000/0

这一点需要注意的是。此时有的同学可能会使用git diff去查看暂存区(stage dictionary)与工作区(work dictionary)的区别。此外还有git diff --cache,
git diff HEAD。不管你们怎么样,反正我是刚看到这三个的时候有些懵。这里把我查到的资料给大家说下

git diff:查看暂存区和工作区的区别
git diff -- cache:查看暂存区与master分支的区别
git diff HEAD:查看工作区与master分支的区别


git checkout --<filename>:撤销工作区的修改
当使用git checkout --<filename>的时候,将当前文件恢复到最近一次add或者commit的状态。


git reset HEAD <filename>:撤销add到暂存区的修改


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 12,791评论 1 26
  • H_哥阅读 2,688评论 0 0
  • 相见欢·暮雨君归 小离已憾经年, 似黄连。 半载别思何苦, 泪流涓。 泣无迹, 白如昔, 寄琴弦。 暮雨凝眸君影...
    舒己怀_Frank阅读 3,709评论 24 29

友情链接更多精彩内容