首先,我来介绍一下Git是什么,谁开发的,能干什么。
答:
1、Git是一个版本控制工具,和cvs、svn类似,但和他们最大不同的是,Git是分布式管理系统,svn是集中式管理。
2、Git是林纳斯的开发的,是他第二个著作。
3、Git,版本控制工具,顾名思义,用于控制版本的。
1、可以用于每日备份
2、有助于异地工作
3、版本控制
4、保存工作进度
5、可以有后悔药吃,可以实现回退
OK、对Git有个初步了解之后,可以进一步学习原理和操作
我们分两步来,第一步先了解Git的原理。第二步在了解Git的相关操作。
一、Git的一些原理的东西
1、Git有三个区:工作区,暂存区,Git数据库。
2、Git是分布式的版本控制系统,与SVN的不同之一,就是SVN是集中式。
3、Git存储的是一个快照 ,而SVN是存储一个文件差异。
二、Git的操作
1、Git安装(Linux:yum方式,rpm包方式,编译安装方式;Windows:从git官网下载安装包,进行安装)
yum方式:yum install git -y
编译安装方式详见下一遍文章。
2.Git的使用必须要先有一个仓库。获取仓库有两种
1:git init (新建仓库)
2:git clone git://github.com/nick/test.git(clone一个仓库)
3.Git的各种使用
1.添加文件到暂存区
git add file
把目录下的所有未加入的文件都加入到暂存区
git add .
2.添加文件到仓库
git commit file -m "comment"
同样,把未加入仓库的所有暂存区文件加入仓库
git commit . -m "comment"
3.把本地仓库推送到远程仓库或者是克隆下来(分为http方式和ssh方式)
模板:git push url(远程仓库)
推送push:
ssh方式:
首先要生成秘钥:ssh-******
ssh-copy-id 服务器IP
git push [email protected]服务器IP
https方式:
git push https://github.com/nick0511/shell.git
克隆clone:
也是有这两种方法,ssh方式必须要先像上面一样生成秘钥。
git clone url
4.查看现在Git状态
git status
5.移除暂存区数据
只移除暂存区
git rm --cached file1
连同目录下的都移除掉
git rm -f file1
6.重命名文件
git mv file1 file2
7.查看历史记录
查看以前的版本
git log
查看全部的版本
git reflog
8、还原数据
还原上一次数据
git reset HEAD^
(上上一次HEAD^^,上五次HEAD~5)
git reset --hard 5c21dd1
9.分支管理
查看分支
git branch
创建分支
git branch nick
切换分支
git checkout nick
合并分支:
git merge nick
(如果有特殊情况(内容冲突),需要手动合并)