repo操作导致代码消失一例解决方法

 时间:2026-02-15 18:26:58

最近整理了下代码后准备提交,进行了git add和git commit操作后,害怕服务器上的代码又更新了,就repo sync了一下,再git log,发现刚才的commit没有了,之前在repo init时也有使用-m参数指定使用相应的mainfest.xml文件,也使用过repo status查看过相应的branch情况,但最终还是没有相应的commit log信息,头痛啊,一周的工作就要白费了吗?

方法/步骤

最近整理了下代码后准备提交,进行了git add和git commit操作后,害怕服务器上的代码又更新了,就repo sync了一下,再git log,发现刚才的commit没有了,之前在repo init时也有使用-m参数指定使用相应的mainfest.xml文件,也使用过repo status查看过相应的branch情况,但最终还是没有相应的commit log信息,头痛啊,一周的工作就要白费了吗?不甘心啊,不停的使用git branch -a和git checkout来切换分支,还是没有相应的提交,不可能所有的分支都没有吧?于是上网查找了下,发现刚才commit时有可能是在(no branch)上进行操作的,使用git reflog就可以查看到刚才的提交信息了,接下来再使用git checkout切换到相应的分支,然后再使用git merge命令将刚才reflog看到的相应commit合并过来,再push下就可以了。

总的步骤如下:

    git reflog

    git checkout ourbranch

    git merge commitID

    git push

就这样,把我一周的工作找回来了,再进行了一遍repo init和repo sync操作,发现默认是在(no branch)上的,即执行git branch -a时有如下返回:

    * (no branch)

    remotes/origin/master

    remotes/origin/pre-release

    remotes/origin/release

    remotes/origin/top

    终于把问题型清楚了,切记以后使用repo时要切换分支啊,没想到首次使用repo来管理提交代码就碰到这么严重问题,还好放松后好好想了一下和查查资料,避免一周工作白费,还有一点以后使用新工具时还要记得备份,避免在紧急情况下找不到解决方法时应急啊。

  • windows下安装Django
  • php声明一个自定义函数
  • 极其好用csharp[C#]控件属性参数保存类
  • 教你截取几百MB的mp3文件中的某一小段
  • Beyond Compare文本比较忽略次要差异教程
  • 热门搜索
    宝宝湿疹最佳治疗方法 相声小品搞笑大全 男人怎么才能时间长 怎么煲耳机 车辆过户保险怎么办 7k7k小游戏大全 肛裂的治疗方法 家常豆腐的做法大全 好听的网名大全 博洋家纺怎么样