对已经提交到公共仓库中的 commit 进行修改

简介: 开发过程中可能遇到这么一种常见的场景,敲完代码,开心的提交到远程仓库了,在欣赏着自己优美代码的时候,发现commit的信息中有个错别字,这是有着代码洁癖的你绝对不能忍的。那么如何取修改已经提交到远程仓库的commit呢。

应用场景

开发过程中可能遇到这么一种常见的场景,敲完代码,开心的提交到远程仓库了,在欣赏着自己优美代码的时候,发现commit的信息中有个错别字,这是有着代码洁癖的你绝对不能忍的。那么如何取修改已经提交到远程仓库的commit呢。

注意:在提交代码前做好审查,思考一下自己对代码的更改做了哪些功能变更,提取简短的关键信息,尽量避免对任何已经提交到公共仓库中的 commit 进行修改。

好在 git 给我们提供了 rebase 的功能。合理的使用rebase命令可以极大的提高我们的工作效率,相反,如果乱用,会给团队中其他人带来麻烦。它的作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁。

命令使用

现在我们要修改最近一次的提交:

使用命令:

git rebase -i  [startpoint]  [endpoint]

其中-i的意思是--interactive,即弹出交互式的界面让用户编辑完成合并操作,[startpoint][endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit(注:该区间指定的是一个前开后闭的区间)。

在查看到了log日志后,我们运行以下命令:

git rebase -i HEAD~1

// or

git rebase -i 36224db

然后我们会看到如下页面, 该页面是一个vim编辑器,根据指令说明修改指令编辑以满足我们的需求。

上面未被注释的部分列出的是我们本次rebase操作包含的所有提交,下面注释部分是git为我们提供的命令说明。每一个commit id 前面的pick表示指令类型,git 为我们提供了以下几个命令:

  • pick:保留该commit(缩写:p)
  • reword:保留该commit,但我需要修改该commit的注释(缩写:r)
  • edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
  • squash:将该commit和前一个commit合并(缩写:s)
  • fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
  • exec:执行shell命令(缩写:x)
  • drop:我要丢弃该commit(缩写:d)

根据我们的需求,我们将commit内容编辑如下:

// 将

pick df5a0ed update css

// 改为

rebase df5a0ed update css

!wq保存后,进入到下一个页面:

更改为:

编辑完保存即可

可以看到已经更改为我们想要的提交信息了。

目录
相关文章
|
Java
SpringBoot项目集成Lombok
SpringBoot项目集成Lombok
213 1
|
5月前
|
网络安全 开发工具 git
GitHub 多账户 SSH 配置指南
本文介绍了如何在同一台电脑上配置多个 GitHub 账户的 SSH 密钥。内容包括:检查现有密钥、生成新的 SSH 密钥、配置 SSH config 文件、将公钥添加到 GitHub、验证 SSH 连接、设置 Git 用户信息、创建工作区目录、使用不同账户克隆仓库,以及为每个仓库配置独立的用户信息等步骤。通过这些操作,可以实现在不同项目中使用不同的 GitHub 账户进行提交和管理。
359 0
|
4月前
|
开发工具 git
解决git push时的错误提示:“error: src refspec master does not match any”
8 .如果确认以上都无误但依然出现该提示,则可能需要重新设置跟踪上游(upstream),通过如下命令:
1597 8
|
11月前
|
安全 数据挖掘 大数据
开放、兼容的数据建设与治理平台——瓴羊Dataphin“进化论” |【瓴羊数据荟】数据MeetUp第三期
Dataphin的技术架构与实践路径,涵盖多引擎兼容、混合云架构、统一资产消费等方面,Dataphin通过持续升级,帮助企业实现全生命周期的数据资产管理,助力企业在大模型时代更好地“建好数据”、“用好数据”。
572 87
开放、兼容的数据建设与治理平台——瓴羊Dataphin“进化论” |【瓴羊数据荟】数据MeetUp第三期
|
12月前
|
数据采集 自然语言处理 供应链
央国企“严选”的瓴羊,如何让数据“供得出、流得动、用得好”?|【瓴羊Dataphin在信通院2024数据资产管理大会】
在产业变革新浪潮下,数据资产管理步入“繁花时代”,瓴羊高级解决方案专家黄彦之出席2024数据资产管理大会并分享了瓴羊基于12年阿里最佳数据实践,通过Dataphin等产品助力央国企数智化转型的路径与方法。大会发布《数据治理产业图谱3.0》,瓴羊Dataphin入选BUCM板块代表产品,彰显其领先经验。
498 18
|
12月前
|
数据采集 安全 大数据
“点数成金”时代,如何应用全域数据资产治理释放企业数据价值?【瓴羊Dataphin在信通院2024数据资产管理大会】
在“点数成金”时代,企业数据成为宝贵资产。12月18-19日,信通院“2024数据资产管理大会”在京举办,瓴羊政企金融事业部总监徐宁分享了Dataphin在数据治理领域的创新方法论与实践经验,强调数据资产双循环和元数据管理的重要性。瓴羊副总裁王赛获颁数据资产管理专家证书。
295 16
|
数据采集 人工智能 自然语言处理
【企业实践】雅戈尔: 3 亿行数据表构成的“孤岛”,如何真正为决策提效?
雅戈尔通过 Dataphin 进行数据建设与治理,在业务应用过程中为决策提供依据,提升效率。
516 3
【企业实践】雅戈尔: 3 亿行数据表构成的“孤岛”,如何真正为决策提效?
|
Oracle 关系型数据库 MySQL
数据源表权限:实现数据消费的精细化权限管理
为满足数据消费中单表消费的场景,Dataphin在V4.3 版本支持对MySQL和Oracle类型的数据源表进行权限管控。
238 31
|
消息中间件 Kafka 搜索推荐
|
调度 存储 数据库

热门文章

最新文章