git - 使用 Interactive Rebase 更改提交的作者。未合并的路径
问题描述
新手来了 在我的私人存储库(仅限用户)中,我试图更改以前提交的作者姓名和电子邮件(我在 GIT 中配置了一个通用电子邮件地址,因此 Github 没有记入我在日历中的贡献)。
经过一番阅读,为了尝试一些提交,我正在使用
git rebase --interactive HEAD~<commit number>
我通过执行更改了文本编辑器中的作者姓名和电子邮件
exec git commit --amend --author="newName <newEmail>" -C HEAD
在我想要修改并保存的提交下。
之后,我尝试git --rebase continue
并得到了这个:
src/App.js:需要合并 src/components/Navbar.js:需要合并 src/components/auth/Login.js:需要合并 您必须编辑所有合并冲突,然后使用 git add 将它们标记为已解决。
现在我有未合并的路径,我真的不知道应该如何解决合并冲突。
只有一个main
分支 -git status
现在是这样的:
interactive rebase in progress; onto 1f3deaf
Last commands done (10 commands done):
pick 930c285 themecontext added
pick b454a88 login/register added
(see more in file .git/rebase-merge/done)
No commands remaining.
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: src/App.js
both added: src/components/Navbar.js
both added: src/components/auth/Login.js
no changes added to commit (use "git add" and/or "git commit -a")
关于我应该如何进行的任何想法?
解决方案
我找到了一些资源(交互式 rebase 部分): https ://www.git-tower.com/learn/git/faq/change-author-name-email/
未合并的路径意味着您有冲突需要解决——我在这里假设您知道它们通常是如何工作的,以及如果文件中存在冲突(而不是作者冲突)并且这不是问题时如何解决它们。
所以......我相信你可以中止变基,并按照我上面链接的说明进行操作。
有趣的是文档(https://git-scm.com/docs/git-rebase)说组合 -i 和 -p 选项通常不是一个好主意(查看--preserve-merges),但在这种情况还不错,因为它是一个简单的变基(BUGS 通常与更改提交顺序或树结构的反直觉结果有关),并且遵循文章中的说明算作知道您在做什么。至少我是这么认为的。我不是 git老手,所以...我只是在 Internet 上找到了一些资源。
这些选项甚至是不兼容的,但看起来它们可以一起使用(嗯...?不知何故?)如果你知道你在做什么。
推荐阅读
- r - R Shiny navbarPage中的静态图像(png)
- kubernetes - Prometheus /etc/config/prometheus.yml:Kubernetes 没有这样的文件或目录
- linq - 为什么 EF Core DbSet LINQ 找不到存在的值?
- xamarin.forms - Xamarin 表单:在外部应用程序中打开 PDF 文件
- vue.js - Vuejs 和 axios 的数组问题
- raspberry-pi - PPPD 连接脚本失败
- javascript - 什么是桌面测试自动化的最佳框架(Javascript 语言)
- javascript - Function.prototype.call.call 的 ECMAScript 算法
- mongodb - 使用 RealmDB (MongoDB) 和 react-native-push-notification 推送通知
- graphql - 使用最新版本的 Apollo 和 GraphQL 工具进行远程模式拼接