git基础知识系列一
1、集中式和分布式区别
1.1 集中式
集中式版本控制系统,版本库是集中存放在中央服务器的。用户都是用自己的电脑,要先从中央服务器取得最新的版本,然后coding,最后把代码推送到中央服务器。
集中式版本控制系统的弊端是需要联网工作;
集中式
1.2 分布式
分布式 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,coding时无需联网,版本库就在各个用户的本地电脑上。
相比于集中式版本控制,安全性更高,每个用户电脑都有完整的版本库。
Git拥有强大的分支管理,这是CVS、SVN不具备的优势。
2、git的安装和使用
2.1 git安装
(1)linux下:sudo apt-get install git
(2)windows下:安装gitbush
2.2 git使用
(1)创建工作区
在本地电脑里创建空目录,即为工作区,这个目录里的所有文件都可以被git管理,每个文件的修改、删除都能够被git追踪,便于后期追踪历史记录,在某个时刻可以还原;
(2)使用git管理仓库(版本库)
git init
在该仓库中会多一个.git目录;(如果不需要git管理,则删除这个目录就可以实现)
注意:
若在linux看不到这个目录,可以使用ls -ah查看这个隐藏的目录;
(3)git改动
版本控制系统无法追踪图片、视频等二进制文件,且Microsorf的word格式的也是二进制格式,所以也无法追踪,只能知道其大小的改变。版本控制系统只能追踪文本文件的改动,如txt文件。
2.3 git操作案例
如在git仓库中添加一个test.txt文件
2.3.1 将文件添加到仓库:
git add test.txt
2.3.2 将文件提交到仓库:
git commit -m “提交test.txt文件”
-m后面输入的是本次提交的说明,便于后期查看提交记录;
注意:
添加文件到Git仓库,分两步:
使用命令git add <file>
,注意,可反复多次使用,添加多个文件也可以使用git add -u
一次性添加追踪的文件;
使用命令git commit -m <message>
,完成。
2.3.3 查看提交历史记录
git log
git log --pretty=oneline
每提交一个版本,git就会将它们自动串成一条时间线;
2.3.4 查看文件区别
git diff <filename>
查看工作区和版本库里最新版本的区别:
git diff HEAD -- <filename>
2.3.5 查看某次提交修改不同之处
git show <commit-hash-id>
2.4 git log使用
git log
2.4.1 查看特定的人的提交记录
git log –author=xiaoming
2.4.2 压缩显示log
一个压缩后的每一条记录只占一行的输出:
git log –pretty=oneline
2.4.3 查看文件改变
git log --name-status
2.4.5 简略查看日志
git log --graph --pretty=oneline --abbrev-commit
3.2 回退版本
(1)使用git log查看提交记录进行回退
git reset --hard xxx
若要回退到上一个版本:
git reset --hard HEAD^
或者使用commit-id(前几位即可)
git reset --hard commit-id
(2)若想要恢复之前的回退
使用git reflog
查看commit-id