1.Git背景介绍
Git是目前世界上最先进的分布式版本控制系统。
2.优缺点
一. SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器
缺点:必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
二.Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,
因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?
比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
3.常用名词解释
一.工作区
工作区(Working Directory):就是你电脑本地硬盘目录
二.版本库
版本库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
三. 暂存区(stage)
一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
工作区(Working Directory):就是你电脑本地硬盘目录
二.版本库
版本库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
三. 暂存区(stage)
一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
4.常用命令
设置用户名和邮箱作为标识
# git config –global user.name “xxx”
# git config –global user.email “xxx@163.com”
# git config –global user.name “xxx”
# git config –global user.email “xxx@163.com”
新建文件
# touch a.txt touch a.txt或者vi
状态查看
# git status查看文件在git仓库中的状态
新增
# git add a.txt 将新建的a.txt纳入git管理 暂存区
提交
# git commit -m "提交修改的信息说明" a.txt 完成了首次提交 提交到本地库
推送到远程仓库
# git push origin master (origin为远程仓库名称 master为主分支)
查看工作区和暂存区里面最新版本的区别
# git diff HEAD - - filename
撤销已add未commit:
# git reset HEAD 文件名
# git checkout -- 文件名
删除某个文件
# git rm 文件名
# git commit –m “注释” 文件名
克隆一个本地库
# git clone git@xxx.xxx.xxx.xxx:/srv/git/xxx.git
查看分支
# git branch
创建分支
# git branch 分支名称 或者 git checkout –b dev 新建并切换分支
切换分支
# git checkout 分支名称
合并分支
# git checkout master 切换到主分支
# git merge dev 将dev分支合并到master分支
删除分支
# git branch –d dev