首页 > 其他分享 >git 修改之前提交记录的某几次记录的账号和邮箱

git 修改之前提交记录的某几次记录的账号和邮箱

时间:2024-10-16 17:35:02浏览次数:1  
标签:git 记录 -- rebase 修改 提交 邮箱

修改 Git 提交记录的作者名和邮箱

最近在使用 Git 时,遇到了一个需求:修改某些提交记录中的提交名和邮箱。由于提交时误用了错误的姓名和邮箱,历史记录中的几次提交需要更新。发现使用 git rebase 结合 git commit --amend 是一种比较优雅的方式,可以灵活修改历史记录中的提交名和邮箱。

步骤记录

  1. 查看提交历史
    首先,使用 git log --oneline 查看了提交历史,找出需要修改的提交。例如,我发现最近的 3 次提交中,有 2 次提交信息需要修改。具体的命令如下:
    git log --oneline
    修改最近的 3 次提交中的第 1 次和第 3 次(可以通过 hash 来查看哪些提交记录)。

  2. 进入交互式 rebase
    使用 git rebase -i 进入交互式 rebase 模式,可以选择我想修改的提交。在这里,我选择了最近的 3 次提交:
    git rebase -i HEAD~3
    编辑器会打开一个列表,显示最近的 3 次提交记录:

pick 123abc 提交信息 1
pick 456def 提交信息 2
pick 789ghi 提交信息 3

我把第 1 次和第 3 次提交的 pick 改成 edit,表示我要修改这两次提交的详细信息:

edit 123abc 提交信息 1
pick 456def 提交信息 2
edit 789ghi 提交信息 3

保存并退出编辑器。

  1. 修改作者名和邮箱
    Git 会依次停在我标记为 edit 的提交上。首先,停在第 1 次提交,让我可以修改作者信息。然后使用了 git commit --amend 并指定新的作者名和邮箱:
    git commit --amend --author="John Doe <[email protected]>"
    这个命令修改了该提交的作者信息。然后我继续 rebase:
    git rebase --continue
    Git 继续处理下一个标记为 edit 的提交,到了第 3 次提交时,重复上述步骤,修改了作者信息:
    git commit --amend --author="Jane Smith <[email protected]>"
    再次运行 git rebase --continue,完成了所有修改。

  2. 推送到远程仓库
    完成本地的提交记录修改后,还需要将修改推送到远程仓库。由于这些提交已经在远程仓库中,使用了强制推送来覆盖之前的记录:
    git push --force

总结

通过 git rebase -i 和 git commit --amend --author,成功修改了指定提交记录的作者名和邮箱。

标签:git,记录,--,rebase,修改,提交,邮箱
From: https://www.cnblogs.com/fires/p/18470409

相关文章

  • 24K star!告别199韭菜课,来GitHub免费学大模型
    现在的网上充斥着各种AI课程,比如李一舟的199课程。今天推荐一个开源项目,它帮你整理好了大模型学习的roadmap,有资料有代码还免费,它就是:llm-course。llm-course是什么?本项目的内容是一个针对大语言模型的课程,在之前的热点汇总中和大家提过,当时项目内容没有完整,缺了LLM工程......
  • git-pull request
    一、git凭据在使用Git进行版本控制时,凭据主要用于身份验证,以确保用户能够安全地访问和操作代码仓库常见的Git凭据类型:1.用户名和密码最基本的身份验证方式。用户在克隆、推送或拉取时输入其用户名和密码。优点:简单,无需额外配置。缺点:安全性较低,因为密码可以被......
  • 从Windows 11 23H2升级至24H2后,Git操作提示文件所有权错误的3种有效解决方案
    从Windows1123H2升级至24H2后,Git操作提示文件所有权错误的3种有效解决方案在升级至Windows1124H2后,使用gitadd等命令时,可能会遇到如下错误提示:Error:libgit2returned:repositorypath'D:/repo/it-tools'isnotownedbycurrentuser.Toaddanexceptionforth......
  • Git常用经验
    Git显示单次commit的改动内容gitshowcommit-idgitshowHEAD~什么都不带的时候默认显示最近的一次gitshowpatch相关生成patchgitformat-patchHEAD^应用patch,保留commit信息gitamfile打patch,但是不保留commit信息gitapplyfilegitlog特定搜索搜索特定的......
  • 极狐GitLab 发布安全补丁版本 17.4.2, 17.3.5, 17.2.9
    本分分享极狐GitLab补丁版本17.4.2,17.3.5,17.2.9的详细内容。今天,极狐GitLab专业技术团队正式发布了17.4.2,17.3.5,17.2.9版本。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLabSaaS,技术团队......
  • 域名邮箱怎么注册及烽火域名邮箱使用教程!
    域名邮箱怎么注册的详细步骤?如何申请有域名的邮箱?拥有一个专业的域名邮箱不仅能提升个人或企业的形象,还能增强邮件的安全性和可信度。烽火将详细介绍域名邮箱怎么注册,并提供烽火域名邮箱的使用教程,帮助您轻松掌握这一技能。域名邮箱怎么注册:购买可以通过各大域名注册服务商......
  • 公司邮箱注册免费申请:一站式服务的流程!
    公司邮箱注册免费申请步骤?企业邮箱申请注册的教程?为了满足企业对高效、安全、专业的邮箱服务需求,许多服务提供商推出了公司邮箱注册免费申请的一站式服务。烽火将详细介绍这一流程,帮助企业轻松获取专业的企业邮箱。公司邮箱注册免费申请:基本信息在选择了合适的服务提供商后......
  • 个人记录:TIF文件内部坐标系wgs84转gcj02
    第一步安装Anaconda这里就不赘述了第二步创建环境创建python环境,指定版本号condacreate--nametestpython=3.12.3test指的是环境名,python指的是当前python的系统版本激活python环境activatetest安装gdalcondainstall-cconda-forgegdal第三步复制代码import......
  • 网站默认密码如何修改?网站密码修改记录查询?
    修改网站的默认密码通常涉及几个步骤,具体步骤可能会根据您使用的网站或系统的不同而有所差异。下面是一般性的指导步骤:登录后台:首先尝试使用默认的用户名和密码登录到网站的管理后台。查找用户管理:在后台界面中找到“用户”或者“管理员账户”的管理选项。选择账户:......
  • 第九章习题3-编写一个函数print,打印一个学生的成绩数组,该数组有5个学生的数据记录,每个
     ......