美文网首页
(转载)如何修改git已提交记录的邮箱?

(转载)如何修改git已提交记录的邮箱?

作者: 淘气的王淘气_PACKAGE | 来源:发表于2020-03-01 21:25 被阅读0次

有时候,公司提交的代码必须使用公司邮箱,而你误操作,直接把自己个人邮箱提交上去了,此时你就会遇到这样的需求:如何修改git已提交的邮箱?

而这个需求对于新手来说,往往要花费半天的时间才能理解修改过程,简直太傻比了,所以我这里做一个详细的文档来帮助自己和你搞清楚这个流程。尤其要理解变基,它不是一个命令执行就完成了,而是一连串命令的组合。

步骤1:变基

gitrebase -i

执行后,会打开最近一条的提交记录,当然上面的命令可以指定某一条记录,命令是:

gitrebase -i"your commit id"

对于sourcetree用户来说,commit id是SHA-1,可以右键某条提交记录,选择菜单"复制SHA-1到剪贴板",如下图:

变基rebase命令执行完成后,会打印类似如下内容:

pick bd81df5 更新API#Rebase abcb9d0..bd81df5 onto abcb9d0 (1command)## Commands:# p, pick = use commit# r, reword = use commit, but edit the commit message#e, edit = use commit, but stopforamending# s, squash = use commit, but meld into previous commit#f, fixup = like"squash", but discard this commit's log message# x, exec = run command (the rest of the line) using shell# d, drop = remove commit## These lines can be re-ordered; they are executed from top to bottom.## If you remove a line here THAT COMMIT WILL BE LOST.## However, if you remove everything, the rebase will be aborted.## Note that empty commits are commented out

新手往往会一脸懵逼,不止所错,此时是在rebase的过程中,你需要把pick改为edit,如下:

edit bd81df5 更新API#Rebase abcb9d0..bd81df5 onto abcb9d0 (1command)## Commands:# p, pick = use commit# r, reword = use commit, but edit the commit message#e, edit = use commit, but stopforamending# s, squash = use commit, but meld into previous commit#f, fixup = like"squash", but discard this commit's log message# x, exec = run command (the rest of the line) using shell# d, drop = remove commit## These lines can be re-ordered; they are executed from top to bottom.## If you remove a line here THAT COMMIT WILL BE LOST.## However, if you remove everything, the rebase will be aborted.## Note that empty commits are commented out

更改完成后,保存并退出vi编辑器::wq

然后会打印这样的消息:

chengmingdeMacBook-Pro:server cmlanche$ git rebase -i "abcb9d0d1e99cdad25d8d08119e494436b000e59"

Stopped at bd81df5...  更新API

You can amend the commit now, with

  git commit --amend

Once you are satisfied with your changes, run

  git rebase --continue

chengmingdeMacBook-Pro:server cmlanche$

给大家先科普一下这个amend英文单词,是修改的意思,对我来说好陌生,为啥不用change或者fix之类的。

上面的信息说了,如果你要amend,也就是要修改这个提交的话,那么用

git commit --amend

如果你对这次修改满意的话,就用如下命令结束此次变基

git rebase --continue

重置账户邮箱信息

我们当然要修改啦,那么执行如下命令,重置提交的账户信息:

git commit --amend --author="cmlanche <1204833748@qq.com>" --no-edit

同事,要注意你的sourcetree,出现了新情况!

我们可以看到一个新的提交,并且,邮箱账号都经过了修改,如果你去掉--no-edit还可以修改commit message,也就是图中的"更新API",举栗子吧,我可以继续用amend修改此次变基

git commit --amend --author="cmlanche <1204833748@qq.com>"

保存退出vi编辑器,看sourcetree咋样了:

真的很完美,接下来就是合并了,退出变基。

退出变基

git rebase --continue

在控制台中打印如上命令退出变基,我们看到退出变基也就是使用最新的修改了,就一条分支了。

chengmingdeMacBook-Pro:server cmlanche$ git rebase --continue

Successfully rebased and updated refs/heads/bulma.

最后总结一下

变基真的很有用,他不是一条命令搞定的,是一个过程,就像变成中打开了一个输入流,最后用完你得关闭输入流一样。

通过变基你可以轻松实现提交信息的任意重新修改!

来源:https://www.cnblogs.com/cmgrass/p/10855996.html

相关文章

  • (转载)如何修改git已提交记录的邮箱?

    有时候,公司提交的代码必须使用公司邮箱,而你误操作,直接把自己个人邮箱提交上去了,此时你就会遇到这样的需求:如何修...

  • 修改 Git 已经提交记录的 用户名 和邮箱

    修改 Git 已经提交记录的 用户名 和邮箱 有关 Git 和版本控制的常见问题。 如何更改提交的作者姓名/电子邮...

  • git修改用户名和邮箱

    git提交的时候, 记录上会显示用户名, 以及联系的邮箱, 如果用户名或者邮箱发生变化了, 要如何修改呢? 首先,...

  • 如何修改git已提交记录的邮箱?

    有时候,公司提交的代码必须使用公司邮箱,而你误操作,直接把自己个人邮箱提交上去了,此时你就会遇到这样的需求:如何修...

  • git之我的配置

    查看 git 用户名邮箱 修改 git 用户名邮箱 修改提交缓存大小(可选) 配置git的最低速度和最低速度时间:...

  • Git 修改提交的用户名和邮箱

    Git 修改提交的用户名和邮箱修改提交历史的用户名邮箱(提交已经push到远程仓库)- 1. pull或clone...

  • git提交commit,contributes没有显示绿色

    问题: git提交了commit,contributes没有记录 原因: 登陆了不同的邮箱,git 提交记录了,但...

  • git账户修改本地提交邮箱和用户名

    git账户修改本地提交邮箱和用户名

  • git 快捷键

    git 常用的一些命令: 1,git用户名与邮箱 查看git用户名与邮箱 修改git用户名与邮箱 2,提交本地代码...

  • 指令

    Mac显示隐藏系统文件 全局修改git的用户名和邮箱 提交数据到GitHub 初次提交数据,需要有git信息,如果...

网友评论

      本文标题:(转载)如何修改git已提交记录的邮箱?

      本文链接:https://www.haomeiwen.com/subject/maslkhtx.html