git基础(六)

游离操作 (经常)

checkout 几种使用方式
	1   git checkout -- 文件名 (检出 移除文件前面的动作 )
	2	git checkout  分支 (切换分支)
	3   git checkout  sha1 (切换到游离状态)
场景:
	master 分支上4次 commit
	
	git checkout sha1(历史版本的)		
		/*
			1. 您处于游离状态
			2. 您可以写操作,但是写操作必须要提交 (commit --》 sha1)
			3. 如果你要保存你的修改,必须建立分支,这个分支必须指向于 sha1
		*/
	echo 'xxxx' >> a.txt
	git add .
	git commit -m '...' //sha1:123456 

	//保存修改 起一个新分支,这个分支指向
	git branch 新分支名 123456 
	git switch -c <new-branch-name>
	
	//不保存修改 不用起分支指向于这个版本就ok
	git checkout master

保存现场 (经常碰到)

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修改操作
    
	/*
	error: Your local changes to the following files would be overwritten by checkout:
        a.txt
Please commit your changes or stash them before you switch branches.
Aborting
	*/
	
	/*
		方式一:分支前提交
		方式二:保存现场: git stash 		
	*/	
	
	git stash    // 保存没有写完的代码 :保存现场
		保存的代码实际是和上一个commit 代码做对比 ,只要新的代码都会被保存起来 
	
	git checkout master 
	...
	切回来
	git checkout dev 


	git stash pop 	 // 还原未开发完毕的代码 :还原现场

Git-bash 文件操作相关命令

  • touch:创建文件
  • cat:查看文件
  • less:查看大文本文件
  • vi:visual interface
    • Esc 退出到命令模式
    • i 进入插入模式
    • :q 退出vi
    • :w 保存编辑
    • :wq 保存并退出
    • :q! 强制退出不保存修改
    • vi 的所有操作基本全部是命令,这里掌握基本使用基于可以了
    • 有时候使用 git commit 进行提交的时候希望能多写几行提交日志,这时候可以省略 -m 参数进入 vi 编辑模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值