git rebase后丢失本地commit记录
2016-08-03 15:20
375 查看
问题描述:
提交代码时,rebase了两次,本地commit记录丢失了
两种解决方法: (原理是一样的)
找到项目目录下的git文件 .git\logs\refs\heads\branchname
或者直接执行命令
只要新建一个分支,找回前一行commit的代码就可以了
$ git co -b my_recovery ci-id (测试过,可行)
或者用reset (Suppose the old commit was HEAD@{5} in the ref log)
提交代码时,rebase了两次,本地commit记录丢失了
两种解决方法: (原理是一样的)
找到项目目录下的git文件 .git\logs\refs\heads\branchname
0000000000000000000000000000000000000000 d3fc5265291c1b4b9fd495d629ddfd9463178938 liuxiaobin <lxb234@qq.com> 1470015375 +0000 branch: Created from HEAD d3fc5265291c1b4b9fd495d629ddfd9463178938 6026046555b2ff1a39aa5c8e47d4857f52d1beb0 liuxiaobin <lxb234@qq.com> 1470200876 +0000 commit: [routeplanrul e] Changed query interfaces 6026046555b2ff1a39aa5c8e47d4857f52d1beb0 6c6245fbd95a58ac2ec2f0de3835f448b4ac8593 liuxiaobin <lxb234@qq.com> 1470204796 +0000 commit (amend): [rout eplanrule] Changed query interfaces 6c6245fbd95a58ac2ec2f0de3835f448b4ac8593 70baaefd36853e48622f0083af140251936aabf7 liuxiaobin <lxb234@qq.com> 1470204927 +0000 commit (amend): [rout eplanrule] Changed query interfaces 70baaefd36853e48622f0083af140251936aabf7 25857484410570a1208bdc9a3a7ea4b84151c4a1 liuxiaobin <lxb234@qq.com> 1470204941 +0000 rebase finished: refs
或者直接执行命令
git reflog
97f842a HEAD@{0}: rebase finished: returning to refs/heads/my_recovery_rule 97f842a HEAD@{1}: rebase: [routeplanrule] Changed query interfaces 2585748 HEAD@{2}: checkout: moving from my_recovery_rule to 25857484410570a1208bdc9a3a7ea4b84151c4a1^0 5175298 HEAD@{3}: checkout: moving from master to my_recovery_rule 2585748 HEAD@{4}: checkout: moving from my_recovery_rule to master 5175298 HEAD@{5}: commit (amend): [routeplanrule] Changed query interfaces 6c6245f HEAD@{6}: checkout: moving from all_key_date to my_recovery_rule 2585748 HEAD@{7}: checkout: moving from recovery_my_code to all_key_date 70baaef HEAD@{8}: checkout: moving from all_key_date to recovery_my_code 2585748 HEAD@{9}: checkout: moving from master to all_key_date 2585748 HEAD@{10}: checkout: moving from all_key_date to master 2585748 HEAD@{11}: checkout: moving from master to all_key_date 2585748 HEAD@{12}: checkout: moving from all_key_date to master 2585748 HEAD@{13}: rebase finished: returning to refs/heads/all_key_date 2585748 HEAD@{14}: checkout: moving from all_key_date to 25857484410570a1208bdc9a3a7ea4b84151c4a1^0 70baaef HEAD@{15}: commit (amend): [routeplanrule] Changed query interfaces 6c6245f HEAD@{16}: commit (amend): [routeplanrule] Changed query interfaces 6026046 HEAD@{17}: checkout: moving from master to all_key_date 2585748 HEAD@{18}: pull: Fast-forward d3fc526 HEAD@{19}: checkout: moving from all_key_date to master 6026046 HEAD@{20}: commit: [routeplanrule] Changed query interfaces d3fc526 HEAD@{21}: checkout: moving from master to all_key_date d3fc526 HEAD@{22}: checkout: moving from new_temp_new to master e1ab4e7 HEAD@{23}: checkout: moving from master to new_temp_new d3fc526 HEAD@{24}: checkout: moving from new_temp_new to master e1ab4e7 HEAD@{25}: checkout: moving from master to new_temp_new
只要新建一个分支,找回前一行commit的代码就可以了
$ git co -b my_recovery ci-id (测试过,可行)
git checkout -b my_recovery_branch 6c6245fbd95a58ac2ec2f0de3835f448b4ac8593
或者用reset (Suppose the old commit was HEAD@{5} in the ref log)
git reset --hard HEAD@{5} (未测试)
相关文章推荐
- 记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)
- 记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
- git rebase后commit丢失
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
- git 查看 本地仓库的commit记录
- git rebase后commit丢失
- git rebase, 让提交记录变干净的利器。
- git合并多个commit的方法: git rebase -i
- 【Eclipse中使用Git之二】Commit代码到本地仓库
- git rebase -i 重新提交多个commit之前的commit
- 通过git cherry-pick找回丢失的commit
- 用git rebase压缩多个commit
- git rebase -i 合并commit
- git rebase之前需要commit才行
- git rebase之前需要commit才行
- 从Git仓库中恢复已删除的分支、文件或丢失的commit[转]
- git 找回丢失的commit
- 在git中,如果revert本地的commit?