请不要问为什么,但我有两个GitHub帐户。我把这两个帐户叫做GH1和GH2。
存储库:存储库是私有的,它位于组织中,组织的唯一成员是GH1和GH2。它是一个我不希望链接到我的主存储库GH1的存储库,这就是为什么我希望在这个存储库中没有GH1的踪迹,以及为什么我只想将它作为GH2进行推送。
我正在使用这个存储库来测试工作流,然后再将它们部署到组织的公共存储库中。
当我在本地(如在git push中)推到回购时,我的提交被归因于GH2,但是当我检查工作流运行时,它说它是由GH1推送的。如何确保提交始终归因于GH2?
澄清:提交归因于GH2,不正确的属性归于GH1在GitHub操作工作流运行中。

(已修改检查元素,以编辑敏感信息。)
发布于 2022-01-17 16:11:14
对于堆栈溢出,过去有两种解决方案,用于解决您的情况。
使用正确的user:
交换用户
(这是问题的一部分:How to amend several commits in Git to change author)
第1部分:
设置您的git作者设置。例:
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com然后,在给定的SHA之后为所有提交重新设置作者。
git rebase -i YOUR_SHA -x "git commit --amend --reset-author -CHEAD"这将弹出您的编辑器以确认更改。这里所需要做的就是保存和退出,它将遍历每个提交并运行-x标志中指定的命令。
您还可以在维护原始时间戳的同时,用以下方式更改作者:
git rebase -i YOUR_SHA -x "git commit --amend --author 'New Name <new_address@example.com>' -CHEAD"第2部分:
git filter-branch --env-filter 'if [ "$GIT_AUTHOR_EMAIL" = "incorrect@email" ]; then
GIT_AUTHOR_EMAIL=correct@email;
GIT_AUTHOR_NAME="Correct Name";
GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL;
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; fi' -- --all在执行操作之前,我会阅读链接中的细节,以确保您了解自己正在做什么。
发布于 2022-01-18 06:28:02
试着用SSH来代替。我会为GH1和GH2创建两个键,然后编辑我的SSH配置如下:
Host github.com-GH2
HostName github.com
User GH2
IdentityFile ~/.ssh/github_GH2在我希望被称为GH2的存储库中,我可以简单地运行以下git命令:
git remote set-url origin git@github.com-GH2:user/repo.git我使用SSH url集做了一个推送,我很自豪地说,GitHub操作工作流不再将提交属性设置为GH1 (见下面的屏幕快照)。

发布于 2022-12-03 10:32:16
我找到了一个身份经理。希望我可以使用它在GH1和GH2之间进行更改,但我还没有对GitHub操作进行尝试。
https://stackoverflow.com/questions/70744041
复制相似问题