基本概念
1.工作区(working directory)
在项目的所在的文件夹即为工作区。
2.版本库(repository)
当我们需要版本控制,将项目所在位置初始化为仓库后,工作区目录下会有.git文件夹,这个文件夹就是git的版本库,里面记录了版本控制所需要的各种信息。
上图左侧为我们可以看到的实际工作目录,右侧即为git所创建的版本库,里面最重要的就是称为stage(或者叫index)的暂存区,还有git为我们自动创建的第一个分支master
,以及指向master
的一个指针HEAD
。
基本操作
1.创建版本库
切换到想要创建版本库所在的目录,使用git init命令即可.
2.添加文件到版本库
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。如图片、视频、word等二进制文件则不能被跟踪。使用git add filename进行添加文件,filename为在仓库内的文件名或路径,确保该文件或路径已经存在。然后用git commit -m "改动说明" 进行提交。add操作是将文件添加到暂存区(stage),而commit操作则是将暂存区的内容提交到当前分支。
3.查看版本库的状态
使用 git status命令查看版本库的状态,即是否会有做出的修改还没有被提交。利用git -diff命令可以查看具体修改的不同之处在哪里。确认后可再次使用 git add(这是必须的)和 git commit命令将修改进行提交,在当前的状态便会成为clean。
4.版本回退
使用 git reset --hard commit_id进行版本的回退或者选择当前版本后的版本。HEAD可以代表当前版本id。利用 git log可以查看当前版及其之前所有版本的情况, git reflog可以查看对版本库所有的操作。
5.撤销修改
情况1:只是对工作区的内容进行了修改。使用 git checkout -- filename 命令将对工作区修改的内容进行撤销。
情况2:将工作区修改的内容add到了暂存区。使用 git reset HEAD filename可以将暂存区的修改回退到对工作区的修改,即情况1,然后按照情况1进行操作即可。
情况3:已经将暂存区的修改提交到了版本库。若没有推送到远程库,可以使用版本回退。
6.删除文件
git rm filename用于删除一个文件,并且将修改提交到暂存区,或者是确认将删除操作提交到暂存区。