Git rebase skip误操做后,找回提交的commit(误删未push本地分支同理)

问题描述:

将一个开发好的feature branch merge到master branch的时候,发现代码有一些旧了,就作了一次rebase。结果冲突不少项目太多,将默承认以skip的commit都skip了(图形化git工具)。解决一堆冲突之后,发现本身提交的部分commit不见了。git

解决方案:

  1. 在命令行输入git reflog,会出现丢失的commit信息列
  2. 找到本身须要的commit行, git checkout -b recovery q1dw23d
  3. git checkout master git merge recovery 切回主分支

反思:

  1. 慎用 git rebase -skip
  2. commit的时候认真记录。 一个feature branch 在测试的之后发现问题,或者增强的时候,每次提交都fix bug, enhance balabala... 致使在寻找commit的时候花了好半天
  3. git 上提交过的东西通常都会留下痕迹,发生误操做淡定!
  4. 这个操做也适合找回误删了本地commit过可是未push到远程的branch

解决问题的时候参考了简书的文章,感谢。工具

相关文章
相关标签/搜索