Git rebase 更改作者? [复制]
Posted
技术标签:
【中文标题】Git rebase 更改作者? [复制]【英文标题】:Git rebase change author? [duplicate] 【发布时间】:2013-04-19 12:39:53 【问题描述】:所以我愚蠢地在没有为 git 配置的机器上进行了 3 次提交(没有作者或电子邮件),我想将这 3 次提交(没有被推送)的作者更改为他们应该的样子。
我知道git commit --amend
可以改作者,但是怎么改成3呢?我知道变基可以改变消息。有没有办法换作者?
【问题讨论】:
如果其他人没有像我一样在顶部看到重复的消息,答案就在这里***.com/a/1320317/292408 这不是一个重复的问题。标记的问题针对 multiple 提交,而此问题仅针对 rebase 的使用。 【参考方案1】:您可以使用交互式变基。这篇文章的答案给你一个例子: How to change the commit author for one specific commit?.
特别是,您可以执行以下操作来更改一个特定的提交:
git commit --amend --author="Author Name <email@address.com>" --no-edit
作者要求在特定提交时更改作者,但如果您edit
您希望更改的所有提交,则可以使用交互式变基来更改多个提交的作者。
其他与交互式变基相关的潜在有用技术可以在 Pro Git 书中找到 http://git-scm.com/book/en/Git-Tools-Rewriting-History,包括挤压、重新排序、编辑消息等。
【讨论】:
您参考的 Pro Git 章节也提到使用git filter-branch --commit-filer
来做同样的事情,但除非您精通 bash 脚本,否则它可能比交互式 rebase 更难使用。
由于某种原因,这似乎不起作用。不是改变作者,只是改变信息
你应该可以通过git rebase BASE_BRANCH --exec 'git commit --amend --author="Author Name <email@address.com>" --no-edit'
一次完成所有操作
请注意,git rebase --exec ...
在技术上通过在重新定位分支中的每次提交后运行给定命令来工作。 @DylanYoung 评论中的 BASE_BRANCH 应该指向您不想修改的最新提交。当前分支中之后的所有内容都将被修改。
@DylanYoung 的命令非常适合我!谢谢! (macOS catalina, git v2.32.0)以上是关于Git rebase 更改作者? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
合并代码还在用 git merge?我们都用 git rebase