本篇博客参考廖雪峰老师的Git教程
Git是一个分布式版本控制系统,可以对文件的修改痕迹进行记录,有利于文件的管理。
集中式版本控制系统:版本库是集中存放在中央服务器,需要从中央服务器取得最新版本之后才可以工作,工作完之后又将成果提交给中央服务器。必须联网才可以工作
分布式版本控制系统:没有“中央服务器”,每个人的电脑上都是一个完整的版本库,不需要联网,只需将自己修改的接哦进行提交,别人就可以看见你的修改记录。但是因为实际情况来说,分布式版本控制系统通常也需要一台电脑充当“中央服务器”,作用仅仅是用来方便“交换”大家的修改。
安装:我是在Window 10 环境下使用,直接下载的是安装包
常用命令:1、创建空目录 mkdir (你的文件名)
(我是在f盘创建的目录,目录尽量不要有中文)
2、git init 进行初始化,将这个目录变为Git可以管理的仓库
(这是空的仓库,会出现.git的文件,如果没有,文件是处于隐藏状态)
3、git add (文件名.扩展名)将文件添加到仓库(可同时添加多个文件)
4、git commit -m "注释" 将文件提交到仓库,-m后边输入的是本次提交的说明(可同时提交多个文件)
5、git status 查看仓库的当前状态
6、git diff (文件名) 查看文件的不同(即修改的记录)
7、git log 查看文件的历史记录 (--pretty=oneline简略输出)
8、git reset --hard HEAD^ 版本的退回 ,其中,HEAD是当前的版本,上一个版本的HEAD^,上上版本是HEAD^^,如果是100,则可以写成HEAD~100
9、git reset --hard (commit-id)即可返回到版本退回之前的最新版本
ps:之所以版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,,所以你让HEAD指向哪个版本号,就可以把当前版本定位在哪。
10、git reflog 用来记录每一次的命令,方便找到commit-id
11、这里会涉及到Git的暂存区概念:
工作区就是我们创建的yuGit文件,暂存区的概念就是通过git add把文件提交到Stage,Git在通过git commit提交时会产生一个master ,以及指向master的指针叫HEAD。
第一步:通过git add把文件添加进入,就是把文件修改添加到暂存区
第二步:通过git commit提交更改,实际就是把暂存区的所有内容提交到当前分支。
Git管理的是修改
12、git diff HEAD --(文件名) 可以查看工作区和版本库里边最新版本的区别
13、在文件修改之后,且没有添加到仓库中的时候,撤销时需要,git checkout -- (文件名)
14 、git rm (文件名) 删除文件记录,并用git commit -m提交记录(此时的文件是从目录中已经删除过的)
15、如果是删除错误,可用git checkout -- (文件名) 恢复到最新版本