解决git切换分支导致代码丢失的问题

这篇具有很好参考价值的文章主要介绍了解决git切换分支导致代码丢失的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决git切换分支导致代码丢失的问题

问题背景:

​ 因为本人手里有好几个不同的项目,当手里有正在做的项目,却被临时叫去修改另外一个项目,而此时又不想把现有的代码提交,于是就强制切换到了另外一个分支上。悲剧的事情发生了,再次切换回来的时候发现之前写的代码丢失了。

解决方法:

​ 本人使用的编程工具为VS Code。一般上述情况下,是无法进行正常切换分支的。因为git的工作机制会要求尽量保持一个较为干净的工作区和暂存区。所以就算你成功切换了分支,vscode会帮你把切换前的代码执行stash,就是储藏起来。当你再次切换回来的时候,可以从这个‘’贮藏室‘’里面取出之前存放的代码

解决git切换分支导致代码丢失的问题

​ 执行指令git stash list可以用来查看目前储藏室里面已经存储的代码列表,取出来也很简单。使用指令git stash apply stash@{n},其中的n代表的是list列表的前缀,根据需要恢复的代码进行变化的。

​ 但是此时需要注意一个问题,就是在powershell中使用该指令,会出现大括号{}不被识别的现象。这是因为大括号在 PowerShell 中被认为是代码块执行标识符,若想正常使用,可用反引号 ` 进行转义。当然也可以直接在git bash中使用该指令。

解决git切换分支导致代码丢失的问题

​ 通过上述的方法,可以成功找回丢失的代码。文章来源地址https://www.toymoban.com/news/detail-508195.html

 1) 问题出现原因:当前在A分支修改一个问题,修改进行到一半,来了一个紧急的生产问题需要修复,在不提交当前分支代码的情况下,切换到M分支修改紧急需求。修改完毕后,A分支修改的内容丢失。
 2) 解决:
     i. 接到紧急任务后,在A分支使用 git stash 暂存当前修改,当前代码会恢复到本地最近一次commit
     ii. git checkout M 切换到M分支,完成紧急迭代任务
     iii. git checkout A 切回原分支,当前代码一贫如洗
     iv. git stash list 查看暂存列表,里面(# list stashed changes in this git )
     stash@{0}: xxxxxxxxxxxxxxx;
     stash@{1}: yyyyyyyyyyyyyyyyyyyyy;
     stash@{2}: zzzzzzzzzzzzzzzzzzzzzzzzz;
     stash@{3}: vvvvvvvvvvvvvvvvvvv;
     v. 如果没有在次中间使用git stash 的话,可以直接看最近的一次暂存git show stash@{0}
     vi. 两种方式取出这条暂存:
     i. git stash apply stash@{0} 取出暂存号为stash@{0}的代码,对暂存列表无影响(# see the last stash )
     ii.git stash pop 取出最近的一次暂存,并将其在暂存列表中删除(apply last stash and remove it from the list)

到了这里,关于解决git切换分支导致代码丢失的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git切换分支(创建本地分支,远程分支,合并分支代码)

    1 .创建本地分支 2 .本地切换到新创建的分支 对应的远程分支也会切换 3 .查看当前所在分支 4 .删除本地分支(先切换其他分支)(删除本地dev分支) 5 .创建远程分支 6 .删除远程分支 7 .提交代码 8 .分支合并 想合并develop到master 先进入master (可以先git status看看是否有冲突)

    2024年02月12日
    浏览(42)
  • Git切换分支 更新代码

    问题背景: 工作过程中遇到这么一个问题 之前没有遇到过 随手记录一下 通常git上一般有很多分支,我们clone到本地的时候一般都是master分支,但是如果需要切换到其他分支应该怎么做呢? 问题解决: 1.首先从远程仓库克隆代码,从远端拉取的代码一般都是master分支上的代

    2024年02月11日
    浏览(30)
  • 【Git】checkout切换分支后,原分支的代码被带到了切换后的分支

    记录下今天git遇到的一个坑: 背景: 活儿干完了,创建个测试分支自己玩,不提代码,不合并。中途来活儿了,又把分支切回需求分支,结果刚在自己玩的分支里写的代码被带到了需求分支。 原因: 新建的文件没有纳入版本管理,所以checkout后被带到了切换的分支 解决:

    2024年02月07日
    浏览(31)
  • git切换分支,暂存修改代码

    我们在使用git时,经常出现需要切换分支的情况,如果本地分支有文件修改就需要暂存代码

    2024年02月09日
    浏览(35)
  • 【问题处理】GIT合并解决冲突后,导致其他人代码遗失的排查

    📕作者简介:战斧,从事金融IT行业,有着多年一线开发、架构经验;爱好广泛,乐于分享,致力于创作更多高质量内容 📗本文收录于 GIT 专栏,有需要者,可直接订阅专栏实时获取更新 📘高质量专栏 云原生、RabbitMQ、Spring全家桶 等仍在更新,欢迎指导 📙Zookeeper Redis ka

    2024年02月08日
    浏览(41)
  • 【更新不全问题解决】IDEA中Git从远程其他分支拉取代码到自己分支更新不全问题解决

    出现这个问题往往是因为没有先拉取远程分支的最新变化到本地导致的,具体操作流程和解决方法如下: 1、首先,先确保本地有一个和远程要拉取分支(比如dev_z)相关联的分支,如果没有:选择远程要拉取的分支,点击Checkout As 2、在本地切换到和远程要拉取分支(比如dev_z)相

    2024年02月08日
    浏览(41)
  • git-新建分支与提交代码命令(附删除、切换、查看、合并分支)

    注意:在你新建分支之前,你应该在master分支,并且要保证你当前的是最新代码,要不然最后提交代码就会出问题。 新建分支并切换到该分支: 在新建的分支上写完代码之后,就可以提交代码了。此时应该在你新建的分支上 注意:有报错就先pull一下代码再提交  

    2024年02月14日
    浏览(45)
  • IDEA git 切换分支产生问题

    本地分支切换的时候(例如A切到B),会弹出来Workspace associated with branch \\\'master\\\' has been restored对话框,在当前分支(A)所做的一些还未add或commit/push的文件改动会带到切换后的分支(B)上; 这是因为在A分支修改了代码,但是没有commit,所以在切换到其他分支的时候回弹出这个窗

    2024年02月11日
    浏览(30)
  • git切换分支后,本地代码会改变吗

    今天遇到一个git分支切换的问题,我在分支A上做了修改,然后切换到分支B后,发现分支B上也存在着分支A上的修改。 如果当前分支所做的修改没有提交就切换去其他分支的话,那么也会看到相同的修改 解决方法有两种: 方法一: 用 git add 和 git commit 提交修改,只要用 git

    2024年01月21日
    浏览(41)
  • 【问题篇】git创建分支后idea切换分支找不到以及合并问题

             当本地idea绑定了git仓库之后,在git仓库线上创建一个新的分支后,想在本地idea切换分支发现没有新建的分支,导致无法切换分支以及代码合并。如下:         这时候只需要先git pull拉取一次就可以了,可以用git bash here终端执行git pull,也可以直接idea点击

    2023年04月13日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包