git分支切换

git 新建、切换分支

  1. 当前活跃分支
  • git branch:列出当前所有分支,用(*)凸显当前活跃分支。
(code) 111@111-PC:~/code$ git branch
* lyq-favicon
  master
  • git checkout:改变当前活跃分支
  1. 创建分支
  • 为当前提交创建分支
> git branch lyq-favicon
  • 为任意一批提交创建分支
> git branch new-branch 48b6fd32e
  • 从现有分支中创建分支
> git branch new-branchc older-branch
  1. 切换到新分支:git checkout lyq-favicon
  2. 创建新分支:git checkout -b lyq-favicon

checkout 操作被拒绝

在分支之间来回切换,工作区存在修改,切换分支失败

  1. 提交修改并切换
> git commit --all
> git checkout lyq-favicon
  1. 放弃这部分修改并进行切换
  • 可以用–force 选项进行强制切换,但会令这部分修改被覆盖
> git checkout --force lyq-favicon
  1. 储藏修改并切换
  • 可以用stash命令先将这部分修改储藏起来,然后再进行切换,之后再用git stash pop 命令来恢复
> git stash
> git checkout lyq-fav
  1. 重置分支指针
> git reset --hard 12e34w
  • 该指针被重置到了提交12e34w 所在的活动分支上。其中–hard 选项用于确保工作区和暂存区也都会被设置到提交12e34w的状态。
  • git reset --hard 命令会覆盖当前工作区和暂存区中的所有修改,所以在执行重置之前先用git stash 命令存储一下修改。

删除分支

  1. 删除分支
  • 删除一个已被中止的分支
> git branch -d lyq-favicon
  • 删除一个打开的分支
> git branch -D lyq-favicon
  1. 恢复被删除的分支
  • (在已知提交的散列值的情况下)恢复某个分支
> git branch lyq-favicon 245dcf6
  • (未知情况下)先确定相关的提交散列值
> git reflog
> 87f0079 (HEAD -> lyq-favicon, origin/lyq-favicon) HEAD@{0}: commit: blue.png
> a2dcdb7 (origin/master, origin/HEAD, master) HEAD@{1}: checkout: moving from master to lyq-favicon
> a2dcdb7 (origin/master, origin/HEAD, master) HEAD@{2}: pull: Fast-forward
> 4f06ef5 HEAD@{3}: checkout: moving from lyq-delete to master
> a8e29db (origin/lyq-delete) HEAD@{4}: commit: delete import1
> 7e6d2a7 HEAD@{5}: commit: delete import
> 4f06ef5 HEAD@{6}: checkout: moving from master to lyq-delete

  • (通过reflog 命令找到的散列值)恢复该分支
> git branch lyq-favicon HEAD@{1}

清理提交对象

  • gc命令(gc指的是垃圾回收)可用于清理版本库,移除所有不属于当前分支的提交对象;
  • 如果想净化自己的版本库,可以先将它克隆一份,并删除其源版本库。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

年中初界

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

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

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

打赏作者

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

抵扣说明:

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

余额充值