先来看看几个比较有用的技巧
将工作区中的状态保存到栈中,供以后apply/pop。可以把它理解为一个commit,但是是存在另一个仓库里的。
git stash save -u 'something'
将untrack的file也stash起来。
git stash branch zhc_branch
有时候stash apply的时候与当前分支右冲突,我们可以用此stash直接创建出一个新的分支出来。
git reset
--hard 将暂存区,工作区,版本库都恢复到某一次提交的状态
--soft 暂存区和工作区都不变,只改变版本库的状态
--mixed (默认) 将版本库和暂存区都改变,不改变工作区
如果在commit之后进行push,发现别人在你之前做了push,这时应该怎么办呢?
git reset --mixed head^
git stash
git pull
git stash apply
git add
git commit
git push
如果想知道现在的版本库中某一行是由哪次提交哪个人引入的,可以用git blame.
git blame src/main/feature/version.cc | grep 'wrong line'