我的 Serverless 实战 —一次代码丢失对git的思考
Posted 小歌谣(公众号同名)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的 Serverless 实战 —一次代码丢失对git的思考相关的知识,希望对你有一定的参考价值。
我是歌谣,放弃很容易,但是坚持一定很酷
前言
某年某月某日的某一晚 当然就是这几天 发生了一件对于程序员来说不好的大事
就是代码丢失了 操作 基本上是这样
也就是一个小时的的代码丢失了
操作是这样 首先sourcetree 重置到当前提交分支 当时多重置了一个节点
紧接着本地的代码就发生了微小变化 然后git fetch origin
初始化解决方案
当时自己的解决方案就是丢了就丢了
花了40分钟
开始 解决冲突
后来看了看
git fetch origin
可以运行
git fetch origin
来同步远程服务器上的数据到本地。该命令首先找到origin
是哪个服务器(从上面获取你尚未拥有的数据,更新你本地的数据库,然后把
origin/master
的指针移到它最新的位置上。
原来这样呀
总之丢了几个小时代码
全部手搓解决
最优解决方案
当时就按照这个方案解决的
第二天 找了别人 说可以还原
首先第一行命令
git reflog
可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
当然没用
git log
git log 命令可以显示所有提交过的版本信息
紧接着就可以看到所有节点的信息
此时就需要回退版本
git reset --hard
git reset就是当我们提交了错误的内容后进行回退使用的命令。
git reset 版本号,就是回退到该版本号上。
通常我们使用
git reset HEAD就是回退到当前版本。git reset HEAD^回退到上一版本
这个时候版本已经回退了
没有丢失
然后
git fetch origin
可以运行
git fetch origin
来同步远程服务器上的数据到本地。该命令首先找到origin
是哪个服务器(从上面获取你尚未拥有的数据,更新你本地的数据库,然后把
origin/master
的指针移到它最新的位置上。
你可以想 怎么又是同一命令
但是实际操作就是这样
接着
git rebase
git rebase用于把一个分支的修改合并到当前分支。
接着之后 看到有冲突
但是代码中一直找不到
这个时候就用
git rebase --abort
git rebase --abort进行撤销操作
然后继续
git rebase
git rebase用于把一个分支的修改合并到当前分支。
这时候就看到很多冲突了
vs code对应修改
<<<<<<< Updated upstream
<el-button type="text" >
标记误报
</el-button>
<el-button type="text" @click="ReportDetail(scope.row.id)">
查看详情
</el-button>
=======
<el-button type="text">标记误报</el-button>
<el-button type="text" @click="ReportDetail(scope.row.id)">查看详情</el-button>
>>>>>>> Stashed changes
这里只给出冲突一部分
然后解决就可以了
最后提交成功 git还是有很多讲究呢
备注:其余工作命令
git commit -amend
追加改动到提交
一开始来用了
git checkout
切换分支
git add
添加到工作区
git commit
添加介绍
后续
git的操作方式有很多 慢慢总结并不断提升自己吧 以上均来源于工作经历 掌握git对于日常的开发有很大帮助
我是歌谣 放弃很容易 但是坚持一定很酷
以上是关于我的 Serverless 实战 —一次代码丢失对git的思考的主要内容,如果未能解决你的问题,请参考以下文章
我的Serverless实战——三分钟快速入门Serverless应用搭建
我的Serverless实战——三分钟快速入门Serverless应用搭建
我的Serverless实战——三分钟快速入门Serverless应用搭建
我的Serverless实战——三分钟快速入门Serverless应用搭建
我的Serverless实战—基于Serverless搭建一个简单的WordPress个人博客平台经验分享Mr.jiang