今天在写项目代码的时候,写完了一个小功能,没有push到gitlab,打算暂时存在本地,可怎么也commit不上,经过百度+google一番搜索之后终于找到了答案。
当你在commit或push的时候androidstudio提示你
的时候,可能很不幸的告诉你,你的分支由于意外被损坏了,你这时候可以去你项目文件夹下的.git/refs/heads下的当前分支文件,使用文本工具将次文件打开(注意不要使用windows自带的notepad,他会自动增加字符,导致你的文件损坏,推荐使用editplus)
正常里面存储的应该是你的commit id,但是我这次打开是空的,证明确实是branch损坏了。
怎么办?
思考路径:正常里面应该存储的是commit ID,把commit ID重新写进去是不是就能够修复了?
沿着这条思路,我继续百度+google,怎样能获取分支的commit ID。
功夫不负有心人,我找到了 .git/logs/refs/heads下对应当前分支的文件,这里存储了你历次commit的记录,包括你的commit id,此时,复制最后一行文字中的
第二个编码,将此编码复制到.git/refs/heads下的当前分支文件中,保存。然后回到android studio,你就会发现,分支损坏已经修复好了,可以正常提交代码了。
扫描二维码关注公众号,回复:
8793967 查看本文章
ps:经常commit,push或者stash是个好习惯,关机之前一定要检查是否已经将代码提交,保障代码安全。