Git中的工作区和暂存区概念
工作区
就是你在电脑里能看到的目录,比如D盘目录下某一个文件夹下可以是一个工作区
版本库
版本库又名仓库,英文名Repository,可以理解成一个目录,这个目录里面所有文件都可以被Git管理起来,每个文件的修改、删除、Git都能跟踪、以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原"。
工作区有一个隐藏目录
.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者index)的
暂存区
,还有Git为我们自动创建的第一个分支
master
,以及指向master的一个指针
HEAD
.
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本可以写成
HEAD~100
.
Git中的添加、提交、回退、撤销
git add
把当前问件放入暂存区域
git commit -m
把暂存区域内容生成快照,并提交到分支
git reset -- (或者git reset HEAD files)
把分支上的files内容复制到暂存区
git reset -- .(或者git reset)
把分支上的全部内容复制到暂存区
git checkout --
把暂存区内容复制到工作区域
git checkout -- .
把暂存区全部内容复制到工作区域
有些文件可能没有被添加到暂存区或者分支;
注意:
git reset --hard HEAD^
回到上一个版本
git reset --hard commit_id
回到某一个版本
git checkout a
切换到分支a上面
git checkout HEAD -- files
把当files文件复制到暂存区和工作目录
git commit -a -m "注释"
相当于git add. 之后再运行git commit -m
另外
git log
命令显示最近到最远的提交日志
git log --pretty=oneline
显示提交日志,完整版本号
git reflog
查看命令历史
参考文章
:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
http://marklodato.github.io/visual-git-guide/index-zh-cn.html#diff