背景:有时候编写了一大段代码以后,想要撤销更改(执行add操做以前),vue
命令:git checkout -- <file路径>git
使用git checkout -- 命令能够查看更改文件路径app
➜ bm-fe git:(tmptest) ✗ git checkout --
M src/management.vue
M config/index.jsit
再执行git checkout -- src/management.vue便可class
背景:执行add,未执行committest
步骤:登录
1.将暂存区的代码撤销到工做区 命令:git reset head
2.将工做区的代码撤销(具体操做和’工做区的代码想撤销’一致) 命令:同【1.工做区的代码想撤销】file
命令:git reset --hard headbug
git reset --hard <版本号>apply
版本号查看:git log
背景:更改部分代码以后,不想马上提交;或者 正在处理一个需求的时候,须要紧急修复本项目的另外一个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 '暂存标识'
背景:作新需求时,忘记新建分支,直接在非生产分支上做出更改(好比commit:x100abcd),且可能更改处较多。
这种状况下,能够 1.在生产分支新建,再挨个儿对比 commit x100abcd 的diff,把更改在新分支上重写一遍;
2.使用cherry-pick
命令: 1. git cherry-pick x100abcd(若是要合并多个commit,能够空格隔开便可)
2. git commit,git push
具体关于cherry-pick的更多用法,待续
--待续