码迷,mamicode.com
首页 > 其他好文 > 详细

git 大型灾难现场

时间:2019-04-16 01:26:37      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:灾难   完成后   bsp   run   png   bae   def   out   个人感想   

由于某种原因,需要重建git仓库。因此删了所有分支,重建git仓库。

删除整个过程

  1. 删除所有分支(除master外)
    1. git branch -d {branch_name}  # 删除本地分支
    2. git push origin --delete {branch_name}  # 删除远程分支
    3. git remote prune origin # 同步远程分支,清理已删除的远程分支 
  2. git checkout --orphan temp_branch # 新建临时空分支
  3. 删除master分支(可能需要先修改default_branch,才能删除。default_branch 有保护权限)
  4. 修改分支名,并push到远程仓库
    1. git branch -m master
    2. git push origin master 

整个仓库清理重建完成后,突然想起某个分支还有重要代码未拷贝...好了,大型灾难现场开始了...

由于新的分支已经完全为空了,所以没办法根据log恢复。

由于备份了一份旧的代码库(这时候简直是全村的希望)...虽然本地分支也已经被全部删除了(傻逼操作)...

通过git log进行代码恢复。

恢复整个过程

  1. 查询log日志,git log
  2. 通过log日志恢复相关的分支
    • 技术图片
  3. 分支恢复
    1. git branch recover_branch_abc 4d631458dcbaeb0d15b866b61d6cf9196ec3da26
  4. 然后就可以查到相关被删除的分支了
  5. 可以根据gitk来跟踪恢复的分支是否正确,是否还有遗漏的代码

个人感想

无论做什么危险的操作,都要切记备份,然后一定要思考好会发生的问题...

git 大型灾难现场

标签:灾难   完成后   bsp   run   png   bae   def   out   个人感想   

原文地址:https://www.cnblogs.com/chenkaiyin1201/p/10714239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!