一日一技:不小心修改了Git主分支的代码怎么办?

系统
主分支 master 或者 main 中的修改,只能通过 merge 合并代码引入。绝对不应该手动在主分支里面修改代码。在很多正规项目里面,主分支是不允许直接 push 代码的。

[[354949]]

 在以前的文章:手把手教学,如何解决 git 冲突?中,我提到,主分支 master 或者 main 中的修改,只能通过 merge 合并代码引入。绝对不应该手动在主分支里面修改代码。在很多正规项目里面,主分支是不允许直接 push 代码的。

但在现实中,经常出现这样的情况。上一次合并完成代码以后,我的分支还停留在主分支。过了十天半个月以后,突然发现了一个 bug,或者想到了一个需要修改的地方。于是打开 VSCode 或者 IDE 就开始改代码。改了几十行代码,好几个文件以后,突然发现,糟糕,我在主分支上面改了文件。

有不少同学遇到这种问题以后,是这样解决的:

  1. 先git status 看看修改了哪些文件,去文件夹里面把这些文件复制出来。
  2. 使用git checkout -- 文件名把所有修改全部重置
  3. 重新创建一个新的分支
  4. 把之前复制出来的文件覆盖回去
  5. ……

这样做,虽然说确实可以解决问题,但过程非常繁琐。

那么,遇到这种情况怎么办呢?实际上非常简单:

  1. git add把所有文件加入暂存区
  2. git commit把所有文件提交到变更记录里面
  3. 执行命令git branch -M dev把当前的主分支改名为dev
  4. 执行命令git checkout -b main重新创建一个主分支。(注意 Github 新项目的主分支是 main,老项目是 master)
  5. 执行命令git reset --hard HEAD^移除主分支最新的提交

至此,主分支的修改已经被抹除。你可以重新转到 dev 分支继续刚才未完成的开发了。

如果大家还不会正确使用 Git,可以点击阅读原文,使用微软提供的交互式环境来信息和操作,根据提示一步一步完成操作,也就学会了 Git。

本文转载自微信公众号「未闻Code」,可以通过以下二维码关注。转载本文请联系未闻Code公众号。

 

责任编辑:武晓燕 来源: 未闻Code
相关推荐

2021-07-03 08:55:44

代码Git 分支

2021-01-30 09:50:54

MySQL密码服务器

2016-10-17 19:14:28

2021-04-27 22:15:02

Selenium浏览器爬虫

2023-10-29 09:16:49

代码安全命令

2016-10-17 08:58:23

Windows 7杀毒账号

2021-11-12 05:00:43

装饰器代码功能

2021-10-15 21:08:31

PandasExcel对象

2021-04-05 14:47:55

Python多线程事件监控

2022-03-12 20:38:14

网页Python测试

2022-06-28 09:31:44

LinuxmacOS系统

2021-07-08 21:49:13

前端后端Cookies

2021-04-12 21:19:01

PythonMakefile项目

2021-03-18 23:28:45

Python反斜杠字符串

2021-03-12 21:19:15

Python链式调用

2021-09-13 20:38:47

Python链式调用

2023-10-28 12:14:35

爬虫JavaScriptObject

2021-04-19 23:29:44

MakefilemacOSLinux

2022-03-07 09:14:04

Selenium鼠标元素

2021-07-27 21:32:57

Python 延迟调用
点赞
收藏

51CTO技术栈公众号