[英]GitHub actions commit attribution
請不要問為什么,但我有 2 個 GitHub 帳戶。 我將這兩個帳戶稱為 GH1 和 GH2。
存儲庫:存儲庫是私有的,它在一個組織中,組織的唯一成員是 GH1 和 GH2。 這是一個我不想鏈接到我的主要 GH1 的存儲庫,這就是為什么我不希望該存儲庫上有任何 GH1 的蹤跡,以及為什么我只將其作為 GH2 推送到它。
在我將它們部署到組織的公共存儲庫之一之前,我正在使用該存儲庫來測試工作流。
當我在本地推送到 repo(如git push
)時,我的提交歸因於 GH2,但是當我檢查工作流運行時,它說它是由 GH1 推送的。 我如何確保提交始終歸因於 GH2?
澄清一下:提交歸因於 GH2,錯誤歸因於 GH1 是在 GitHub 操作工作流運行中。
(已使用 inspect element 對其進行修改以編輯敏感信息。)
Stack Overflow 上有兩種過去的解決方案可以解決您的問題。
(這是這個問題的一部分: 如何修改 Git 中的幾個提交以更改作者)
第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"
這將彈出您的編輯器以確認更改。 您需要在這里做的就是保存並退出,它會通過每次提交 go 並運行 -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
我會閱讀鏈接中的詳細信息,以確保您在執行操作之前了解自己在做什么。
Git:致命:無法從遠程存儲庫讀取。 請確保您具有正確的訪問權限並且存儲庫存在
嘗試用 SSH 代替。 我會為 GH1 和 GH2 創建 2 個密鑰,然后將我的 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(見下文)。
我找到了一個 git 身份管理器。 希望我可以使用它在 GH1 和 GH2 之間切換,但我還沒有嘗試過 GitHub 動作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.