Li Hui Blog

Li Hui Blog
在时代的层林尽染中书写时代的年华。效能(2022)
  1. 首页
  2. Git系列
  3. 正文

[Git教程系列]基础教程5 解决修改错分支的问题

9月 15, 2020 299点热度 0人点赞 0条评论

前言

千辛万苦修改完成了代码,当要提交的时候或者提交后,才发现代码写错了分支,直接在master分支做了修改,哎,千辛万苦写的代码不能扔啊,咋办,下面记录一下我修改的过程。

步骤

如果没有提交(commit)

之所以将这个提到前面,是因为很多情况下,我们都会在写代码的时候忘情的写代码,提价的时候(尤其是使用工具的时候,会不自觉的看一下相应的分支,也有可能是bash的提醒)

此时 有三个步骤 将修改的代码放入stash区 切换分支 从stash中取出来,这时候使用stash和使用栈类似

问题最初的情况 (不巧的是在master分支对hello.txt进行了修改)

vkUoZu

直接将所有代码一次写上吧

git stash # 将代码放入相应的缓存区
git chekout dev # 切换到自己所想修改的分支
git stash pop # 将修改的代码从缓存区取出来

返回结果 此时我们已经将修改的结果 转移到了dev分支

VqYkjj

如果已经进行了提交commit

此时需要多一个步骤 需要回退到上一个分支(或者需要回退到指定的分支)

回退到上个commit

git reset HEAD^

回退到指定分支

git reset 记录唯一值

其他的和上面的一致

操作如下图所示

7ahXMB

2lVDhe

swCQNO

0dAzF3

已经提交到远程仓库(github/gitlab etc)

Emm.. 这个也有两种情况,无私人信息和有私人信息,尤其是把个人的私钥上传了,如果不撤回来的话,那后果好像很严重的。

无私人信息

此种情况还比较好,不影响大碍,可以进行反向提交,将上一次的代码如何提交的如何删除即可

git revert HEAD

此时本地多了一条commit 将上次的提交内容进行反向提交 即增加了一条删除的commit信息

此时在提交至远程即可

git push origin master

有私人信息

此种情况非常非常糟糕,一旦被其他人所使用,后果不堪设想。(如果此篇文章有幸被你看到一定要注意)

git reset --hard {{commitid}} # 强制回退到指定分支
git push -f # 强制推送分支(因为线上版本比当前的版本新(多一个新分支))

GOC0qD

ffLDgk

Sav8WC

58PEfw

总结

通过上面的步骤,我们可以将各种情况的git信息进行修改,如果有不全面的,欢迎进行留言。

参考文章:

  1. [https://gorden5566.com/post/1010.html](
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: Git系列
最后更新:9月 15, 2020

Li Hui

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复

Li Hui

这个人很懒,什么都没留下

归档
  • 2022年10月 / 1篇
  • 2022年6月 / 1篇
  • 2022年1月 / 6篇
  • 2021年2月 / 1篇
  • 2021年1月 / 8篇
  • 2020年12月 / 1篇
  • 2020年11月 / 2篇
  • 2020年9月 / 23篇
分类
  • Git系列 / 6篇
  • Linux / 10篇
    • CLI应用 / 2篇
    • Docker / 1篇
  • Shell / 2篇
  • Uncategorized / 1篇
  • 从0到1 / 1篇
  • 博客优化 / 3篇
  • 各系列总章节 / 1篇
  • 周年总结 / 1篇
  • 安全 / 2篇
  • 年度总结 / 1篇
  • 年度计划 / 1篇
  • 感想 / 3篇
  • 技术 / 2篇
    • gocd / 1篇
  • 敏捷开发 / 1篇
  • 未分类 / 6篇
  • 知识 / 1篇
  • 读书 / 3篇

COPYRIGHT © 2021 lihui.net. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

京ICP备2020048539号-3