1.了解SVN与Git的最主要的区别?git
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是本身的电脑,因此首先要从中央服务器哪里获得最新的版本,而后干活, 干完后,须要把本身作完的活推送到中央服务器。集中式版本控制系统是必须联网才能工做,若是在局域网还能够,带宽够大,速度够快,若是在互联网下,若是网 速慢的话,就纳闷了。服务器
Git是分布式版本控制系统,那么它就没有中央服务器的,每一个人的电脑就是一个完整的版本库,这样,工做的时候就不须要联网了,由于版本都是在本身的电脑 上。既然每一个人的电脑都有一个完整的版本库,那多我的如何协做呢?好比说本身在电脑上改了文件A,其余人也在电脑上改了文件A,这时,大家两之间只需把各 自的修改推送给对方,就能够互相看到对方的修改了分布式
最后仍是以为git乌龟方便快捷 放弃SVN~啊哈哈哈哈~后面有须要再学习;学习
2.Git经常使用指令:命令行
1.git add readme.txt添加到暂存区3d
2.命令 git commit告诉Git,把文件提交到仓库版本控制
3.命令git status来查看是否还有文件未提交日志
4.用git status来查看下结果blog
具体使用效果以下:it
第一步:使用命令 git add readme.txt添加到暂存区里面去。以下:
若是和上面同样,没有任何提示,说明已经添加成功了。
第二步:用命令 git commit告诉Git,把文件提交到仓库。
" "
如今咱们已经提交了一个readme.txt文件了,咱们下面能够经过命令git status来查看是否还有文件未提交,以下:
说明没有任何文件未提交,可是我如今继续来改下readme.txt内容,好比我在下面添加一行2222222222内容,继续使用git status来查看下结果,以下:
上面的命令告诉咱们 readme.txt文件已被修改,可是未被提交的修改。
接下来我想看下readme.txt文件到底改了什么内容,如何查看呢?能够使用以下命令:
git diff readme.txt 以下:
如上能够看到,readme.txt文件内容从一行11111111改为 二行 添加了一行22222222内容。
知道了对readme.txt文件作了什么修改后,咱们能够放心的提交到仓库了,提交修改和提交文件是同样的2步(第一步是git add 第二步是:git commit)。
以下:
二:版本回退:
如上,咱们已经学会了修改文件,如今我继续对readme.txt文件进行修改,再增长一行
内容为33333333333333.继续执行命令以下:
如今我已经对readme.txt文件作了三次修改了,那么我如今想查看下历史记录,如何查呢?咱们如今能够使用命令 git log 演示以下所示:
git log命令显示从最近到最远的显示日志,咱们能够看到最近三次提交,最近的一次是,增长内容为333333.上一次是添加内容222222,第一次默认是 111111.若是嫌上面显示的信息太多的话,咱们能够使用命令 git log –pretty=oneline 演示以下:
如今我想使用版本回退操做,我想把当前的版本回退到上一个版本,要使用什么命令呢?能够使用以下2种命令,第一种是:git reset –hard HEAD^ 那么若是要回退到上上个版本只需把HEAD^ 改为 HEAD^^ 以此类推。那若是要回退到前100个版本的话,使用上面的方法确定不方便,咱们能够使用下面的简便命令操做:git reset –hard HEAD~100 便可。未回退以前的readme.txt内容以下:
若是想回退到上一个版本的命令以下操做:
再来查看下 readme.txt内容以下:经过命令cat readme.txt查看
能够看到,内容已经回退到上一个版本了。咱们能够继续使用git log 来查看下历史记录信息,以下:
咱们看到 增长333333 内容咱们没有看到了,可是如今我想回退到最新的版本,如:有333333的内容要如何恢复呢?咱们能够经过版本号回退,使用命令方法以下:
git reset –hard 版本号 ,可是如今的问题假如我已经关掉过一次命令行或者333内容的版本号我并不知道呢?要如何知道增长3333内容的版本号呢?能够经过以下命令便可获取到版本号:git reflog 演示以下:
经过上面的显示咱们能够知道,增长内容3333的版本号是 6fcfc89.咱们如今能够命令
git reset –hard 6fcfc89来恢复了。演示以下:
能够看到 目前已是最新的版本了。