首页 > 其他分享 >git如何恢复本地未提交的代码?

git如何恢复本地未提交的代码?

时间:2024-03-11 12:55:42浏览次数:23  
标签:文件 git 提交 仓库 代码 修改 本地

1.情景展示

在实际开发过程中,遇到代码冲突,很正常,解决起来也简单。

但是,我遇到的这种情况,却不常见

在本地改了一周的代码,最后想要提交,为了不和别人提交的代码产生冲突,我们需要先更新,再提交。

即使有冲突,也在本地解决好再提交。

问题来了:

更新完成以后,我本地的修改后代码全没了(idea更新完有提示,是否需要回滚,但是回滚什么内容,我没看)。

一朝回到解放前,这可咋整?

2.具体分析

经过和我历史提交的代码对比,发现:

别人把我所修改的文件目录偷偷换了位置,导致我即使想使用本地历史还原都不行。

这可咋整?

3.解决方案

通过idea的本地历史记录进行恢复

正常情况下,如果别人的代码把我们本地的代码给覆盖了,我们可以这样做:

选中被覆盖的文件,右键-->Local History-->然后打开的就是此文件在本地的历史修改记录。

找回本地已修改的代码

现在,既然别人修改了你的文件所在目录,那就找到它的上级目录所在位置,右键,查看本地操作历史。

如果不确定该选择哪个目录,我们可以直接选中项目名称。

我们可以看到:

Update from VCS,直接选择离它最近的一个历史变更记录就行了(Update from VCS下面就是本地最新的代码)。

点击它,即可对比远程仓库和本地文件的变化。

这样就能找回本地修改的代码了。

恢复本地修改的代码

点击本地已经被删除的目录,双击打开,全选,复制。

然后找到更新后此文件,并打开。

然后,全选,右键粘贴,这样就能将代码更新成自己已经修改好的代码了。

4.提交代码的正确流程

当然,出现这种情况,也跟我错误地使用Git操作流程有关。

如果我先将代码提交到本地仓库,再去拉取远程仓库的代码,就不会导致本地代码丢失的问题。

而我先前的错误操作习惯是:

直接更新远程仓库代码,这才导致这次事故的发生。

如何正确地提交代码到远程仓库?

第一步:commit

即提交代码至本地仓库。

点击工具栏的提交按钮,会自动切换到提交窗口,如下图所示。

勾选上要提交的代码(修改的文件、新增的文件)。

然后,点击“Commit”,完成提交。

提交完成,右下角会有提示。

第二步:pull

即从远程仓库拉取代码。

如果提交的是本地所有文件,那么,正常情况下,提交完成后,这里将不再有未提交文件。

拉取代码完成后,右下角会有提示。

如果这个时候,有代码冲突的话,需要进行处理。

将冲突解决完后,启动项目测试是否有问题,没有问题的话再push。

第三步:push

将本地仓库代码提交至远程仓库。

点击工具栏的“推送”按钮,来到下面推送详情界面。

确认自己将要推送的代码,点击“Push”。

 

 

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

标签:文件,git,提交,仓库,代码,修改,本地
From: https://www.cnblogs.com/Marydon20170307/p/18065850

相关文章

  • github上十款热门cmdb项目分享
    github上十款热门cmdb项目分享原创静静和小沐沐IT运维技术圈2024-03-1110:07广东听全文图片 1.Snipe-IT简介:Snipe-IT是一个免费、开源的IT资产管理系统,用于跟踪资产、许可证、配件、耗材以及可借用的资产。它提供直观的界面,支持导入/导出功能,并且有强大的搜索和报告......
  • Windows系统Git安装
    一、下载地址:https://gitforwindows.org/二、下载完成,双击exe文件安装 安装结束后,在文件夹空白处右键出现以下几个标识,说明安装成功。 ......
  • JDK、maven、git、Jenkins搭建自动化测试环境(安装、打包、发布、部署)
    目录前言一、安装jdk二、安装maven三、安装git四、安装jenkins五、访问jenkins 六、创建用户七、配置jenkins八、执行总结 前言服务器:CentOS7.964位jdk:1.8maven:3.9.1git:gitversion1.8.3.1jenkins:2.346.3一、安装jdk1、下载jdk的rpm安装包(根......
  • 本地部署AI问答知识库
    介绍在当今信息爆炸的时代,我们常常需要处理大量的信息并且寻找特定的答案。AI问答知识库是一种基于人工智能技术的系统,旨在通过理解自然语言问题并从存储的知识库中提取相关信息,以准确、快速地回答用户的问题。这种技术不仅在搜索引擎、智能助手和客户服务领域有着广泛的应用,还在......
  • 配置hosts访问github
     如何操作操作系统的hosts文件Windows下在:C:/Windows/system32/drivers/etc/hosts苹果MacOSX和Ubuntu等linux系一般在:/etc/hostsmac可command+shift+G前往/private文件夹,hosts文件在etc文件夹下,可以直接访问配置文件。 hosts文件内关于githubIP地址的内容199......
  • OSSFS 挂载 OSS当本地硬盘用
    OSS是什么OSS是阿里云存储服务,简单来说OSS就是一块网络硬盘。特点是便宜,但便宜也有代价,那就是性能不高,如果只是作为个人存文件用,我认为完全够用。为什么要挂载流量收费因为直接访问(类似网盘)要消耗流量,收费!而挂载到服务器,通过服务器访问,可以走内部通道(服务器连接OSS),免流量。当然,......
  • 从零开始用Hexo+GithubPage搭建个人网站(保姆级)
    写在前面:猫世界-个人博客-GPT4订阅保姆级教程1.准备阶段1.1了解系统类型按WIN+R,输入cmd,回车输入以下内容并按下回车systeminfo我的电脑就是x64系统1.2Git下载点此处下载Git根据系统类型选择,因此我选64-bitGitforWindowsSetup注:下载后安装,安装过程除了安......
  • Git 开源的版本控制系统-05-tags 标签管理
    标签创建标签gittag<标签名>[提交ID]显示标签gittag显示标签详细信息gitshow<标签名>houbinbindeMacBook-Pro:git-demohoubinbin$gitbranchgit_demo_1.1git_demo_1.2git_demo_bug_001*masterhoubinbindeMacBook-Pro:git-demohoubinbin$gitta......
  • 详细解读Gitlab Runner中SSH到远程服务器的细节
    生成特有的密钥对用windows的命令行生成即可$ssh-keygen-trsa-C"[email protected]"执行如下图:上述命令行中,密钥保存在C:\Users\d211.ssh目录下:把上述公钥拷贝到目标服务器的对应用户目录下比方我们要在目标服务器,用上述私钥,以用户runner的身份登入。那么我们在目标......
  • Git 笔记
    Git学习Git环境配置git配置文件本质都是基本的文件安装后必须配置项#配置用户信息gitconfig--globaluser.name='用户名'gitconfig--globaluser.email='邮箱地址查看配置git config -l查看不同级别的配置文件:#查看系统configgitconfig--system--list#......