Git分布式版本控制系统

使用Git服务的时候,要知道三种重要模式,分别是:

已提交(committed):表示数据文件已经顺利提交到Git数据库中。

已修改(modified):表示数据文件已经被修改,但未被保存到Git数据库中。

已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git数据库中。

1、首先配置你的个人用户和电子邮件,设置默认的文本编辑器;

[ ~]# git config --global user.name "web01"
[ ~]# git config --global user.email ""
[ ~]# git config --global core.editor vim 
[ ~]# git config --list

2、提交数据

[ ~]# mkdir linux
[ ~]# cd linux
[ ~]# git init #初始化git
[ ~]# echo "first git repository" >read.txt
[ ~]# git add read.txt #将该文件添加到暂存区
[ ~]# git commit -m "add the read file" #将文件提交到Git版本仓库
[ ~]# git status #当前Git版本仓库的状态:

3、设置忽略目录,把不想上传的文件写入到(工作目录/.gitignore)文件中

[ linux]# touch git.c #创建文件
[ linux]# vim .gitignore #设置忽略文件
git.c 
[ linux]# git add .  #添加所有文件至暂存区
[ linux]# git commit -m "add the .gitignore file" #提交至版本库
如果有多个文件传至版本库中,可采用-a参数,这个就跳过暂存步骤,直接提交到版本库中
[ linux]# echo "Modified again" >>read.txt
[ linux]# git commit -a -m "Modified again"
如果想把忽略文件git.c也提交上去,可以加-f参数强制提交
[ linux]# git add -f git.c #强制提交文件
[ linux]# git commit -a -m "Second modified again" #再一次提交至版本库

4、数据移除( rm -f )

[ linux]# touch database #创建一个新的文件
[ linux]# git add database #添加至暂存区
[ linux]# git status #查看已经添加database文件;
[ linux]# git rm --cached database #利用cached参数,只是在暂存区移除,真实数据不会删除
[ linux]# ls #查看文件并没有删除
database git.c read.txt
而如果我们想将文件数据从Git暂存区和工作目录中一起删除,可以这样操作:
[ linux]# git add .  #添加所有文件至暂存区
[ linux]# git rm -f database  #删除文件
[ linux]# ls  #查看已经删除文件
git.c read.txt

5、数据移动 ( git mv )

[ linux]# git mv read.txt introduction.txt #重命名
[ linux]# git commit -m "change name"  #提交文件到Git版本仓库

6、查看历史记录(git log )

[ linux]# git log #查看所有的历史记录
[ linux]# git log -2 #查看近两条历史记录
[ linux]# git log -p -2 # -p参数来展开显示每次提交的内容差异
[ linux]# git log --stat -2  #--stat参数来简要的显示数据增改行数
[ linux]# git log --pretty=oneline #--pretty参数显示每行一条提交记录
[ linux]# git log --pretty=fuller -2 #以更详细的模式输出最近两次的历史记录

还可以使用format参数来指定具体的输出格式,这样非常便于后期编程的提取分析哦,常用的格式有:

%s       提交说明
%cd 提交日期
%an 作者的名字
%cn 提交者的姓名
%ce 提交者的电子邮件
%H 提交对象的完整SHA-1哈希字串
%h 提交对象的简短SHA-1哈希字串
%T 树对象的完整SHA-1哈希字串
%t 树对象的简短SHA-1哈希字串
%P 父对象的完整SHA-1哈希字串
%p 父对象的简短SHA-1哈希字串
%ad 作者的修订时间

查看当前所有提交记录的简短SHA-1哈希字串与提交者的姓名:

[ linux]# git log --pretty=format:"%h %cn"

7、数据还原

[ linux]# git log --pretty=oneline #查看历史记录
还原版本使用命令(git reset),而上一个提交版本会叫HEAD^,上上一个版本则会叫做HEAD^^,用HEAD~5来表示往上数第五个提交版本。
[ linux]# git reset --hard HEAD^ #还原到上一个版本;
[ linux]# git log --pretty=oneline #查看历史记录已经更新到上个版本;
查看所有历史版本,包括已经还原过的版本;用命令(git reflog)
[ linux]# git reflog
[ linux]# git reset --hard d990d1 #另外可通过SHA-1值进行还原,SHA-1值没有必要写全,Git会自动去匹配;
还可以使用checkout,还原最近的一条数据;
checkou规则是如果暂存区中有该文件,则直接从暂存区恢复,如果暂存区没有该文件,则将还原成最近一次文件提交时的快照
[ linux]# git checkout -- read.txt

8、标签管理

相关推荐