Git(1):git的版本控制和常用命令的介绍

git init 带工作区
git --bare init 是不带工作区的裸仓库,只有版本库,
想要看git里面的内容只能通过git clone address的方式克隆出来

一、git的发展和常见的版本控制工具

1、git发展

	git开发管理员是linux的创始人林纳斯托瓦兹
	2002年linux内核托管到git上进行版本控制
	git是一个开源的分布式版本控制工具
	git可以高效的管理从小到大的开发源代码或者程序

2、通过git延伸的版本控制工具

	Github
	Gitlib

3、git的特点

	克隆数据库版本:从git服务器克隆数据库,包含代码的版本信息
	提交代码:在客户端本机创建的分支提交到git服务器中
	合并分支:可以在本地主机进行合并,将git服务器代码合并到一台git中
	拉取合并分支:建一个新的分支,把git服务器中新版本的代码下载下来,然后在自己的主分支进行合并
	代码冲突解决:在分支更新源代码时解决冲突,解决完成后,发布新的补丁程序进行更新版本程序

二、版本控制的方法

1、本地版本控制

	项目保存在管理员本地主机上,修改项目的名字或者时间进行标识版本信息
	本地版本控制容易被管理员误操作覆盖数据,无法表示项目最新版本

2、集中化版本控制

	管理员在网络中搭建一台独立的SVN服务器
	所有开发人员将源代码提交到svn,svn对提交的项目大表示区分不同的版本
	方便用户访问svn服务器查找最新版的软件

3、采用分布式版本控制器

	客户端不只是提取最新版本的程序
	将服务器数据从分布式版本控制系统克隆到本地
	分布式版本控制系统故障,服务器可以提供版本控制服务
	git支持版本控制和数据备份功能

三、安装git和初始化git

1、安装git
	[root@jenkins /]# yum -y install git
2、设置用户和邮箱
	[root@jenkins /]# git config --global user.name "bob"
3、配置邮箱
	[root@jenkins /]# git config --global user.email "bob@benet.com"
	[root@jenkins /]# git config --global color.ui true
4、查看全局配置和配置文件
	[root@jenkins /]# git config --list
		user.name=bob
		user.email=bob@benet.com
		color.ui=true
	[root@jenkins ~]# cat .gitconfig 
		[user]
			name = bob
			email = bob@benet.com
		[color]
			ui = true

四、初始化git仓库

1、创建git仓库根目录
	[root@jenkins ~]# mkdir java-daem
2、添加管理git仓库的用户
	[root@jenkins ~]# useradd git
	[root@jenkins ~]# echo "pwd@123" | passwd --stdin git
3、修改git仓库的所有者
	[root@jenkins ~]# chown -R git:git java-daem/
4、初始化仓库
	[root@jenkins ~]# cd java-daem/
	[root@jenkins java-daem]# git --bare init

五、配置git客户端

1、配置免交互式ssh
	[root@slave01 ~]# ssh-keygen -t rsa
	[root@slave01 ~]# ssh-copy-id -i root@192.168.200.90
2、git客户端克隆git仓库
	[root@slave01 ~]# git clone root@192.168.200.80:/root/java-daem
3、关联远程仓库
	[root@slave01 ~]# 
4、在客户端添加git用户
	[root@slave01 java-daem]# git config --global user.email "bob@benet.com"
	[root@slave01 java-daem]# git config --global user.name "bob"
5、客户端测试仓库是否能正常使用
	[root@slave01 java-daem]# touch 1.txt
	[root@slave01 java-daem]# git add .
	[root@slave01 java-daem]# git commit -m "1.txt"
	[root@slave01 java-daem]# git push oragin master

六、git的命令

1、git常见的选项
	add			添加文件进入暂存区
	branch		添加git分支
	checkout	切换git分支
	clone		克隆git仓库到新的目录
	commit		提交数据到git仓库
	diff		比较新版本和旧版本的数据
	init		初始化空的仓库
	log		显示提交的日志
	merge	合并git分支
	mv		获取git仓库数据生成一个新的git分支
	pull	获取git仓库数据生成一个新的git分支
	push	更新到远程仓库信息
	reset	回滚到老版本数据
	rm		从工作区删除数据
	show	显示创建的对象
	status	显示工作的状态
	tag		创建,列出、删除版本标识信息
2)git暂存区
	git add .			将文件从工作区提交到暂存区
	git rm --cached a	从暂存区移除文件a
	git rm -f a			彻底移除文件a
3)从暂存区 提交到本地仓库
	git commit -m "**"	-m:说明
	git status			查看暂存区是否存在
4)git客户端的使用
	git clone root@192.168.100.10:/root/java-daem/.git	客户端访问git服务器
	git pull		更新本地工作台的数据

七、git数据库的修改

1、使用mv修改数据
	mv a a.txt	修改数据
	git rm --cached a 	删除数据
	git add a.txt	追踪数据
	git commit -m "**"	提交数据
2、使用git mv 修改数据
	git mv a a.txt	在暂存区修改文件名
	git commit -m "a.txt"	提交到本地仓库
3、比较暂存区的区别
	diff a b	比较文件区别
	git add a	在工作台中比较
	git add b
	git diff --cached
	git commit -m "**"	提交数据

八、git日志管理和回滚

1、查看所有的日志
	git log
2、日志缩进到一行显示
	git log --oneline
3、显示最后一次修改的指针信息
	git log --oneline --decorate
4、显示最新的日志
	git log -1
5、查看最新日志记录(改动信息)
	git log -1 -q
6、回滚数据
	git reset --hard (版本号)

九、配置git分支管理

1、配置git分支的作用
	方便多个开发人员开发一个项目
	项目开发完成后将分支进行合并
2、分支
	git branch benet	创建benet分支
	git branch	查看分支
	git checkout benet	切换分支
	git merge master	合并在benet分支中
	git checkout -b benet	创建并切换分支
	git checkout master	合并在master分支中
	git merge benet
	git branch -d accp	删除分支
3、分支合并问题解决
	[root@slave01 java]# git merge master 
		自动合并 2.txt
		冲突(添加/添加):合并冲突于 2.txt
		自动合并失败,修正冲突然后提交修正的结果。
	#根据提示将2.txt中的注释或者有符号的行删除,然后再重新跟踪和提交

十、git标签

1、git标签的作用
	区分稳定版本和开发版本
	一般针对稳定版本项目打标签
	当基于稳定版项目继续开发更新,项目将变成测试版
	测试过程中出现异常可以通过git标签进项回滚
2、获取项目的标识信息
	git log --oneline
3、打标签,标签是v1.0
	git tag -a v1.0 6c19267 -m "**"	打标签
	git tag -d v1.0	删除标签
4、查看标识的详细信息
	git tag
5、通过标签进行查看
	git show v1.0
6、通过标签回滚到老版本项目
	git reset --hard v1.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H . C . Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值