博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git使用之 后悔药--reset、stash、cherry-pick
阅读量:5942 次
发布时间:2019-06-19

本文共 1188 字,大约阅读时间需要 3 分钟。

1.工作区的代码想撤销

背景:有时候编写了一大段代码之后,想要撤销更改(执行add操作之前),

 命令:git checkout -- <file路径>

使用git checkout -- 命令可以查看更改文件路径

➜ bm-fe git:(tmptest) ✗ git checkout --

M src/management.vue
M config/index.js

再执行git checkout -- src/management.vue即可

2.add到暂存区的代码想撤销

背景:执行add,未执行commit

步骤:

1.将暂存区的代码撤销到工作区  命令:git reset head

2.将工作区的代码撤销(具体操作和’工作区的代码想撤销’一致)   命令:同【1.工作区的代码想撤销】

3.提交到本地仓库的代码想撤销

命令:git reset --hard head

  git reset --hard <版本号>

版本号查看:git log

4.本地更改暂存

背景:更改部分代码之后,不想立刻提交;或者 正在处理一个需求的时候,需要紧急修复本项目的另一个bug,但是本次代码又不想修改

命令: 1.git stash save '暂存标识,比如:新增登录页面' 可将本分支本次更改暂存到git栈中。

  2. git stash list 查看git栈中所有暂存,出现list,如stash{0}: ...'暂存标识',stash{1}:...other stash...

  3. git stash apply stash{n}  找到你要继续编辑的更改 应用即可(n为list中的stash编号)

注意: 如果新建了文件,使用git stash save 命令,将无法暂存新建的文件,若此时再切换到其他分支,会把该部分文件,一同带到新分支,且查看不出diff。解决方案:

    使用命令 1)git add .

        2)git stash save   '暂存标识'

5.cherry-pick合并其他分支的commit

背景:做新需求时,忘记新建分支,直接在非生产分支上作出更改(比如commit:x100abcd),且可能更改处较多。

  这种情况下,可以 1.在生产分支新建,再挨个儿对比 commit x100abcd 的diff,把更改在新分支上重写一遍;

          2.使用cherry-pick

命令: 1. git cherry-pick x100abcd(如果要合并多个commit,可以空格隔开即可)

  2. git commit,git push

具体关于cherry-pick的更多用法,待续

 

--待续

 

转载于:https://www.cnblogs.com/fancyLee/p/9719401.html

你可能感兴趣的文章
ios ble 参考
查看>>
linux中注册系统服务—service命令的原理通俗
查看>>
基于托管C++的增删改查及异步回调小程序
查看>>
Oracle DBMS_STATS 包 和 Analyze 命令的区别
查看>>
linux下基本命令
查看>>
windows server 2008R2 上安装配置freesshd
查看>>
手动删除SVCH0ST.EXE的方法
查看>>
已释放的栈内存
查看>>
Android网络之数据解析----SAX方式解析XML数据
查看>>
Java递归列出所有文件和文件夹
查看>>
[关于SQL]查询成绩都大于80分的学生
查看>>
Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
查看>>
java之ibatis数据缓存
查看>>
“TNS-03505:无法解析名称”问题解决一例
查看>>
LeetCode - Longest Common Prefix
查看>>
Android图片处理
查看>>
2015年第21本:万万没想到,用理工科思维理解世界
查看>>
大家谈谈公司里的项目经理角色及职责都是干什么的?
查看>>
剑指offer
查看>>
Velocity魔法堂系列二:VTL语法详解
查看>>