git基础(七)

保存现场 (经常碰到)

git使用规则:
	1. 建议:(可以不遵守)在一个功能没有开发完毕的情况下 ,不要commit(形成版本)
	2. 规范:(必须遵守)  如果两个分支处于不同的commit阶段,一个分支在没有commit情况下不能切换到其他分支
场景:
	git init
	touch a.txt
	git add .
	git commit -m 'init'
	
	git checkout -b dev
	echo 'dev...'  >> a.txt 
	//可以切分支  因为: dev 和 master 指向同一个commit ,dev和 master 共享工作区,切master 也可以看到 dev分支的修改
	 
	git  add .
	git  commit -m 'dev 1' //dev产生一个新的版本 ,dev分支 指向于这个新的版本 
	//可以切换 
	
	echo 'dev xxxx' >> a.txt
	//不可以切换分支的 因为: dev 和  master 指向不同的commit 阶段,不会共享工作区 ,如果切过去会丢失当前的dev修改操作	
	/*
		方式一:分支前提交
		方式二:保存现场: git stash 		
	*/	
	
	git stash    // 保存没有写完的代码 :保存现场
		保存的代码实际是和上一个commit 代码做对比 ,只要新的代码都会被保存起来 
	
	git checkout master 
	...
	
	git checkout dev 

	
	git stash pop 	 // 还原未开发完毕的代码 :还原现场,并且删除现场
实验: 保存多个现场
	git stash save '着是完成第三个业务的代码'
	
	git stash list 查看现场	
		/* 栈:先进后出 后进先出
			stash@{0}: On dev: 这是第三个业务的代码1
			stash@{1}: On dev: 这是完成第三个业务的代码
		*/
实验:还原现场方式
	git stash pop 	
		/*
			1. 如果 pop 后面没有指定还原哪个现场 ,默认还原的就是最新的现场
			2. pop stash@{1}   指定stash@{1}还原哪个现场  
			3. 如果还原了现场 pop ‘会’将保存的现场从列表中删除
		*/
	git stash apply
		/*
			1. 如果 apply 后面没有指定还原哪个现场 ,默认还原的就是最新的现场
			2. apllay stash@{1}   指定stash@{1}还原哪个现场  
			3. 如果还原了现场 apply ’不会‘将保存的现场从列表中删除
		*/	
实验:还原现场产生冲突
	vi a.txt --> 修改第三行
	git stash --> 保存现场(修改的第三行)
	
	vi a.txt  --> 修改第三行
	git add .
	git commit -m 'xxx'
	
	//还原现场
	git stash apply
		/*
			自动合并 a.txt
			冲突(内容):合并冲突于 a.txt
		*/
	 
	//解决冲突vi add  commit 	
	vi a.txt
	git add .
	git commit -m '解决还原现场冲突 '
实验:删除现场
	git stash drop stash@{5}

责任追责

git blame a.txt 查看文件的 版本sha1值  提交者姓名  和提交时间
	/*
		79389a61 (xuanqiyan 2020-04-21 14:18:00 +0800 1) 1111
		f3a72402 (xuanqiyan 2020-04-21 14:21:33 +0800 2) 2222
		f3a72402 (xuanqiyan 2020-04-21 14:21:33 +0800 3)
		f3a72402 (xuanqiyan 2020-04-21 14:21:33 +0800 4) dsadsa
		f3a72402 (xuanqiyan 2020-04-21 14:21:33 +0800 5) dsad
		f3a72402 (xuanqiyan 2020-04-21 14:21:33 +0800 6) sadsa
		f3a72402 (xuanqiyan 2020-04-21 14:21:33 +0800 7) dsa
		2d1f98c6 (xuanqiyan 2020-04-21 15:08:05 +0800 8) 冲突已经解决
	*/	

------------------------git团队开发---------------------------------

github

注册:http://github.com--> sing up(注册) --> 进入注册页面 
	名字
	邮箱(真实存在的 163 QQ)
	密码
	create acount
	邮箱激活 才算真正注册成功
	
sing in  登陆

实验: 在github 创建一个仓库
	方式一: 勾选readme 文件 
	
			
	方式二: 不勾选readme 文件  (推荐) 更加灵活	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值