Git的使用说明

2 篇文章 0 订阅
2 篇文章 0 订阅

一,Git代码状态转换图

Git代码状态转换图

其中:

未被Git跟踪的状态为unstage状态,已经被Git跟踪的状态为stage状态,因此包括staging状态和staged状态

  • untrack files是指尚未被git所管理的文件;
  • changed but not updated是指文件被git管理,并且发生了改变,但改动还没被git管理;这两种状态,都可以看成是改动还没被git管理的状态,我们这里称非stage状态。
  • changes to be commited是指进入stage状态的文件,stage是commit和未管理之间的一个状态,也有别名叫index状态,也就是git已经管理了这些改动,但是还没完成提交。

.gitignore中的文件,不会出现在以上三个状态中。

二,git的个人本地使用及操作

  1. 创建Git库
cd source_dir		# 进入源码目录
git init			# 初始化,在源码目录内生成一个.git的目录
  1. 注册用户信息
git config --global user.name XXX	#用户名
git config --global user.email XXX	#用户邮箱
git config –list              		#查看用户信息
  1. 向git库中添加或删除文件
git add XX			#加单个文件
git add .			#加所有
git add [path]		#会把对应目录或文件,添加到stage状态
git add . 			#会把当前所有的untrack files和changed but not updated添加到stage状态
  1. 向版本库提交变化
git commit –m “XXXX”	#直接添加简单提交信息,添加注释
git status				#查看当前代码库的状态
git log					#查看版本信息
git log –p				#查看版本信息并显示每次修改的diff
git show cadf974654ed…	#查看指定版本信息
						#(show后面为每次提交系统自动生成的一串哈希值)
git show sdji97			#一般只使用版本号的前几个字符即可
  1. 撤销与恢复
git reset
git reset --hard		#回到原来编辑的地方,改动会丢失。
						#(同样适用于团队对于其他人的修改恢复)
git reset --hard cadf974654ed…		#可回到指定的版本
					#(hard后面为每次提交系统自动生成的一串哈希值)
git reset [path]	#会改变path指定的文件或目录的stage状态,到非stage状
git reset 			#会将所有stage的文件状态,都改变成非stage状

回退1个change的写法就是git reset HEAD^,2个为HEAD^^,3个为HEAD~3,以此类推。

  1. 向服务器提交变化
git push		#向服务器提交
  1. 暂存改动

git stash可以把当前的改动(stageunstage,但不包括untrack的文件)暂存。
然后通过git stash list查看。并通过git stash apply重新取出来。但apply之前要保证worktree是干净的。

三,git的团队开发及操作

  1. 获取项目
cd local_dir   # 本地工作目录(自定)
git clone 服务器帐户@ip:项目.根路经
# 这里具体操作为:
git clone git@192.168.20.22:android2.2.git

说明:这里假定服务器的用户名为git,服务器IP为192.168.20.22,项目名为android2.2,根路经为git的home(即根路径)

  1. 团队开发的基本流程
git add file	# 改动的文件具体文件,也可以用 点'.',表示所有改动提交
git commit	#(提交至本地)
git pull	#(将服务器项目与本地项目合并)
git push	#(将本地项目上传至服务器)(在提交前要git  pull  --rebase一下,确保当前的本地的代码为最新。)

四,git的分支管理

git分支操作在本地建立分支,然后与本地主枝合并,最终提交到服务器。有效的避免了因个人操作不当向服务器提交过多脏数据,避免频繁git clone服务器来更新本地库。

分支操作指令:

  1. 建立分支
git branch AAA		#建立分支AAA
  1. 分支切换
git checkout AAA	#从当前分支切换到AAA分支
  1. 将分支与主枝master合并
git checkout master	#(首先切换回主枝)
git merge AAA		#(将分支AAA与主枝合并)
  1. 当前分支查看
git  branch			#默认有master(也称为主枝)
git  branch –a		#查看当前所有分支
  1. 删除分支
git branch –d AAA	#删除分支AAA

备注: 上面只是一些基本的操作命令,更多的命令可通过帮助文档查询。

  • 帮助文档的使用
man git-<需查询的指令>      #(git后面有'-')
# 如commit的查询为
man git-commit
# man 命令要做linux环境下用
  • 删除分支
    如果你要删除的分支并没有被merge到当前分支的话,将产生一个错误提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值