git怎么操作会丢失自己的代码_git解决本地代码丢失方法

git解决本地代码丢失方法

//查看提交的记录 按 Q 退出reflog

git reflog

e645ff8e80a95f6e683d34a976e217b9.png

//恢复到提交代码前 原先代码的内容 只需修改 {} 这里面的内容

git reset --hard HEAD@{3}

//回车之后 你的代码就就会恢复回来了

git解决 commit 提交报错问题

a71ae974384af28a988b6d3504d4826d.png

这段报错信息,是说你的本地代码和远程仓库有不同的commit出现,无法提交

再有默认分支的情况下

git pull --allow-unrelated-histories

没有的话

git pull origin master --allow-unrelated-histories

最后git push

git解绝单个文件超过100mb 报错问题

07223ecdf33debb4947ed92b0393c064.png

Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited)

打开项目文件除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区,工作区的文件需要添加到Git的暂存区(git add),随后再提交到Git的版本库(git commit)。

首次新建的文件都是untracked状态(未跟踪),此时需要git add到暂存区,Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态,需要git commit生成版本库。添加到了版本库之后,再对文件进行修改,那么文件的状态会变为unstaged状态。

//仅仅删除缓存区里的文件

git rm --cache 文件名

3b5ad0d77ca5e63067545cdac207b9ea.png

//删除暂存区和工作区的文件 小心使用 本地文件也会被删除

git rm -f 文件名

删除错误提交的commit

有时,不仅添加到了暂存区,而且commit到了版本库,这个时候就不能使用git rm了,需要使用git reset命令。

错误提交到了版本库,此时无论工作区、暂存区,还是版本库,这三者的内容都是一样的,所以在这种情况下,只是删除了工作区和暂存区的文件,下一次用该版本库回滚那个误添加的文件还会重新生成。

这个时候,我们必须撤销版本库的修改才能解决问题!

git reset有三个选项,–hard、–mixed、–soft。

//仅仅只是撤销已提交的版本库,不会修改暂存区和工作区

git reset --soft HEAD@{}

//仅仅只是撤销已提交的版本库和暂存区,不会修改工作区 建议使用这个命令 {} 里面的内容写你的索引号

git reset --mixed HEAD@{}

eeec7aec2ed6ff239ae6603668f49b82.png

//彻底将工作区、暂存区和版本库记录恢复到指定的版本库

git reset --hard HEAD@{}

(1)如果你是在提交了后,对工作区的代码做了修改,并且想保留这些修改,那么可以使用git reset --mixed 版本库ID,注意这个版本库ID应该不是你刚刚提交的版本库ID,而是刚刚提交版本库的上一个版本库。如下图:

(2)如果不想保留这些修改,可以直接使用彻底的恢复命令,git reset --hard 版本库ID。

(3)为什么不使用–soft呢,因为它只是恢复了版本库,暂存区仍然存在你错误提交的文件索引,还需要进一步使用上一节的删除错误添加到暂存区的文件,详细见上文。

标签:文件,git,本地,--,暂存区,提交,丢失,版本

来源: https://blog.csdn.net/liangmaxmin/article/details/109954941

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值