前记:因为设计weloop小黑3的神盾局表盘版本太多,需要用github做版本控制,下载了Github客户端。使用中发现前续commit出错,强制修改,又手贱覆盖掉了表盘资源文件,折腾了一整天,好在最终找到了,记录一下用到的git小用法。
1.强制回滚并提交到服务器
在github客户端,左侧仓库名称上右键选择“Open in Git Shell”,打开控制台终端。输入命令:
git reset --hard commit_sha //回滚到指定sha的commit
git push origin master --force //强制提交本地版本至服务器
通过以上操作,可以回滚到之前的指定版本,不过一定要记得commit的sha,这就引出了第二个问题。
2.查找误操作覆盖的文件版本
由于手贱,多次操作回滚服务器端版本,覆盖了新添加的很重要的资源文件,而且没有备份存档。尝试本地文件恢复失败,系统覆盖的文件无法找回。
操作中发现,之前回滚覆盖过的版本通过commit_sha可以追溯,并直接打包下载,换了思路,希望通过服务器找到丢失的文件。由此,查找commit_sha就成了最大的问题。
查找浏览器历史记录,发现之前记录,但未找到需要的指定commit_sha,几乎已不抱希望。决定转换思路,希望在github的log中找到操作记录。
经查找,log文件位于仓库的.git\logs\HEAD文件中,找到需要的commit_sha。
浏览器中输入以下地址:
https://github.com/bainuicf/WeloopWatchFace/commit/commit_sha
找到所需版本,Browser Files,Download到所需文件,收工!
总结:1.重要文件一定要备份!
重要文件一定要备份!
重要文件一定要备份!
重要的事情说三遍
2.git中没事不要手贱乱回滚,不要强制回滚服务器端版本。
3.日常使用中建议多commit,要push,确定完整无误后再push。