首页 > 其他分享 >Git - 合并本地未提交的 commit

Git - 合并本地未提交的 commit

时间:2024-01-17 12:44:24浏览次数:25  
标签:Git rebase 合并 git 提交 commit

每次工作养成了保存 commit 的习惯,提交远程仓库时想合并这些 commit 保证历史信息干净整洁。

通过 rebase 合并本地未提交的 commit 并修改消息。

git rebase -i [hash]

如上图所示,我要将这两个3分钟前的 commit 合并在一起,那么就要执行 git rebase -i [第commit的hash值](第三个hash才可以看到前面两个commit)。

如上图所示,进入到了编辑界面(vim 编辑器),合并需要用到以下两个指令,下面是它们的解释:

  1. squash:当你在交互式 rebase 的状态下选择 "squash",Git 会将当前提交与上一个提交合并,并且提供一个新的提交信息编辑页面,可以对两个合并的提交的提交信息进行编辑。这样你可以在这个编辑页面修改合并后的提交信息。
  2. fixup:相反,当你选择 "fixup",Git 也会将当前提交与上一个提交合并,但是它会丢弃当前提交的信息,只保留上一个提交的信息,不会提供编辑页面供你修改。这是一个 "安静的" 操作,通常用于修复小问题或误操作。

我需要修改消息,所以我选择 squash。

把下面的合并到上面去,也就是最新的代码合并到旧 commit 中,第一个 commit 保留。接着进入消息修改界面,修改完成之后(ctrl+c 退出编辑模式,:wq 退出保存),然后 git push 推送 origin。

git rebase --abort

修改完成之后,不想保留 rebase 操作就执行这个指令。

标签:Git,rebase,合并,git,提交,commit
From: https://www.cnblogs.com/Himmelbleu/p/17969769

相关文章

  • 关于提交git出现“lint-staged“报错
    因为提交推送前会触发pre-commit勾子,由于代码出现不规范被检测到所以禁止提交,如果想取消这个提交前校验可以卸载掉husky,这里以npm为例输入命令:npm  uninstallhusky--save其他两种解决办法:1:进入项目的.git文件夹这个文件夹默认为隐藏的,可先设置显示,再进入hooks文件夹,删除pre......
  • .gitignore的使用
    在Git中,您可以使用`.gitignore`文件来指定哪些文件或目录应该被Git跟踪,哪些应该被忽略。如果您想要跟踪一个目录但不跟踪该目录下的文件,可以在`.gitignore`中指定该目录,并在指定该目录时使用`/`。以下是一些示例:1.**只跟踪目录,不跟踪该目录下的任何文件:**在`.gitignore`中添......
  • git rebase 用法
    将子分支dev的代码变基到主分支main上且不要留下合并的记录,此时相当于将子分支的commit提交到当前的主分支上,然后将其作为新的子分支。常用的方式为gitrebase,如下:B,C为主分支上的提交,D,E为子分支的提交,现在想要将子分支的两笔commit变基到主分支,即将主分支上的提交......
  • android studio github copilot chat
    实现AndroidStudioGithubCopilotChat简介在本文中,我将向你介绍如何在AndroidStudio中使用GithubCopilotChat插件。GithubCopilotChat是一款基于人工智能的代码助手,可以帮助开发者更高效地编写代码,并提供实时的代码建议和补全功能。流程图flowchartTDA[准......
  • git pull 报错:ssh: connect to host github.com port 22: Connection timed out
    在执行gitpull时提示错误:ssh:connecttohostgithub.comport22:Connectiontimedout解决方案:添加config文件vim~/.ssh/config添加如下内容Hostgithub.comHostnamessh.github.comPort443ssh:connecttohostgithub.comport22:Connectionti......
  • Git必知必会基础(01):Git简介
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html补充:什么是版本控制系统简介版本控制系统,VersionControlSystem,简称为VCS,是—种记录—个或多个文件的内容变化,以便将来查阅特定版本的内容变化情况的系统。简单来说,就是用来保存文件内容变更记录......
  • android studio 搜索不到GitHub Copilot
    如何在AndroidStudio中搜索到GitHubCopilot1.概述在本文中,我将向你介绍如何在AndroidStudio中搜索到GitHubCopilot。GitHubCopilot是一个基于机器学习的代码助手,它可以根据上下文为你提供代码建议和完成。为了使用GitHubCopilot,你需要在AndroidStudio中安装并配置它。下......
  • git Copilot android studio
    GitCopilot在AndroidStudio中的应用引言GitCopilot是GitHub于2021年推出的代码生成工具。它基于OpenAI的Codex模型,通过学习GitHub上的大量开源代码,可以为开发者提供自动化的代码补全和建议。本文将介绍如何在AndroidStudio中使用GitCopilot,并提供相关代码示例。安装GitCop......
  • 公司内部的gitea(git)服务怎么镜像远程仓库
    以本地gitea为例一、登录本进管理员账号,进到需要镜像的组织,点击迁移外部仓库 进到组织-找到迁移外部仓库。(为什么要在组织里创建,因为gitea的逻辑是组织到仓库,你就算是直接创建不进组织默认的组织是你个人,而这样对于公司化运作的git是不友好的。所以先进组织再迁移。)二、选......
  • git 提交报错
    这个问题是因为当你在终端输入gitcommit-m“XXX”,提交代码的时候,pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则报错,而它的检测规则就是根据.git/hooks/pre-commit文件里面的相关定义。解决方法(三种)1、第一种卸载husky。只要......