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

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

摄影:产品经理产品经理出去喝酒了

在以前的文章:手把手教学,如何解决 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。

目录
相关文章
|
25天前
|
安全 开发工具 数据安全/隐私保护
《Git 简易速速上手小册》第8章:保护你的代码(2024 最新版)
《Git 简易速速上手小册》第8章:保护你的代码(2024 最新版)
32 1
|
1月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
56 0
Git教程:深入了解删除分支的命令
|
4天前
|
Shell 开发工具 git
git获取gitee老版本的分支内容
git获取gitee老版本的分支内容
|
15天前
|
开发工具 git 开发者
【专栏】探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序
【4月更文挑战第29天】本文探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序。与 `git merge` 不同,rebase 重写提交历史,提供简洁线性的历史记录。文章介绍了 rebase 的基本操作、应用场景,如整理提交历史、解决冲突和整合分支,并强调了使用注意事项,如避免在公共分支上操作。尽管 rebase 可以带来整洁的历史和冲突解决便利,但其潜在的风险和可能导致的历史混乱需谨慎对待。理解并恰当使用 `git rebase` 可以提升开发效率和代码质量。
|
23天前
|
敏捷开发 测试技术 持续交付
云效产品使用常见问题之直接git clone 输入账密可以拉代码,但是云效平台上不行如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
23天前
|
机器人 Java 测试技术
云效产品使用常见问题之流水线git自定义某一个分支提交节点失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
25天前
|
开发工具 git
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
26 0
|
29天前
|
数据可视化 开发工具 git
Git代码版本管理入门
Git代码版本管理入门
|
29天前
|
Shell 网络安全 开发工具
还不会 Git?最详细教你学会 Git + TortoiseGit 安装使用及提交代码!
还不会 Git?最详细教你学会 Git + TortoiseGit 安装使用及提交代码!
|
1月前
|
开发工具 git
git如何创建新分支,GitHub默认分支是main怎么连上
git如何创建新分支,GitHub默认分支是main怎么连上
16 0