一日一技:不小心修改了Git主分支的代码怎么办?
在以前的文章:手把手教学,如何解决 git 冲突?中,我提到,主分支 master 或者 main 中的修改,只能通过 merge 合并代码引入。绝对不应该手动在主分支里面修改代码。在很多正规项目里面,主分支是不允许直接 push 代码的。
但在现实中,经常出现这样的情况。上一次合并完成代码以后,我的分支还停留在主分支。过了十天半个月以后,突然发现了一个 bug,或者想到了一个需要修改的地方。于是打开 VSCode 或者 IDE 就开始改代码。改了几十行代码,好几个文件以后,突然发现,糟糕,我在主分支上面改了文件。
有不少同学遇到这种问题以后,是这样解决的:
- 先git status 看看修改了哪些文件,去文件夹里面把这些文件复制出来。
- 使用git checkout -- 文件名把所有修改全部重置
- 重新创建一个新的分支
- 把之前复制出来的文件覆盖回去
- ……
这样做,虽然说确实可以解决问题,但过程非常繁琐。
那么,遇到这种情况怎么办呢?实际上非常简单:
- git add把所有文件加入暂存区
- git commit把所有文件提交到变更记录里面
- 执行命令git branch -M dev把当前的主分支改名为dev
- 执行命令git checkout -b main重新创建一个主分支。(注意 Github 新项目的主分支是 main,老项目是 master)
- 执行命令git reset --hard HEAD^移除主分支最新的提交
至此,主分支的修改已经被抹除。你可以重新转到 dev 分支继续刚才未完成的开发了。
如果大家还不会正确使用 Git,可以点击阅读原文,使用微软提供的交互式环境来信息和操作,根据提示一步一步完成操作,也就学会了 Git。
本文转载自微信公众号「未闻Code」,可以通过以下二维码关注。转载本文请联系未闻Code公众号。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
挑战与机遇并存,网络安全千亿蛋糕如何下口?
近年来,互联网的普及虽然便捷了人们的生活,但所催生的安全问题却也令人头疼。网络漏洞、黑客入侵、数据滥用等乱象的频发,不仅危害了个人合法权益,同时也危害了国家的安全与稳定。在此背景下,为保障网络安全,一个全新产业油然而生,并受到国家高度重视。 网络安全产业,是通过对硬件、软件和数据的保护,让网络系统运行更安全,网络服务提供更常态化的产业,其具体涉及网络安全设备、安全服务、安全软件、安全集成等各大环节。近两年,在国家推动下产业发展取得不错成果,那么随着时间推移,其当前发展又如何了呢? 网络安全威胁不断提升 相比于前两年,当前网络安全所面临的挑战与威胁正迎来不断升级。随着互联网的进一步普及,如今网络覆盖的范围已经越来越大,网络边界也正在被打破,网络匿名体系架构的加持外加设备本身可能存在的漏洞,使得网络安全问题出现的可能性和风险性大大增加。 与此同时,新一轮科技革命的到来,各种新技术的应用,例如人工智能、5G、生物识别、物联网等,也进一步增加了安全风险。一方面,新技术本身可能存在安全问题,另一方面技术还可能成为网络犯罪的帮凶。在此背景下,网络安全治理的难度与压力显著增强。 除此以外,数据流通的...
- 下一篇
开辟ARM服务器架构新方向,微网云“小节点大集群”技术路线任重道远
【51CTO.com原创稿件】11月26日,以“凝心聚力,共赢绿色计算新时代”为主题的2020绿色计算产业峰会在北京召开。主办方绿色计算产业联盟将整个峰会设置成1个主论坛+3场分论坛(基础软件分论坛、开放硬件分论坛、行业应用分论坛)+1个绿色计算成果展览。联盟成员之一的微网云(深圳)科技有限公司总架构师林沧受邀来到了峰会主论坛现场,并于下午在开放硬件分论坛发表了名为“小节点、大集群”的主题演讲,分享了微网云对于ARM服务器架构创新的新思路。记者在会议间隙采访了林沧,请他谈谈对ARM服务器架构创新、ToB市场初创企业发展以及设备国产化的看法。 “小节点大集群”开辟ARM服务器创新架构的新方向 其实林沧的从业经历从某种意义上来看正是国家信息化技术发展历程的一个缩影。从他80年代中在钱锺书先生的指导下配合栾贵明先生用计算机研究唐诗起,到90年代构想如何将商品交易搬到互联网上,再到2000年开始将电子商务从理论践行到实际中,最后到2016年成立微网云,通过有自主知识产权的微网专利技术,打造具有创新架构的ARM分布式服务器集群——这一路走来,是林沧对信息化技术从陌生到熟悉,从跟随模仿到自主研发的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作