我們有一個我們不想再與我們的組織關聯的用戶。
有沒有一種方便的方法可以從我們的存盤庫中洗掉他們的所有提交,同時保留其他用戶的提交?
我一直在變基,但處理合并是一個巨大的痛苦。
uj5u.com熱心網友回復:
通常git filter-branch是我要走的路。它允許您(除其他外)假裝更改是由其他人進行的。
但請注意,不僅該特定用戶的提交將獲得新 ID,而且該用戶首次提交之后的所有提交也將獲得新 ID 。這是因為 git commit 的區塊鏈性質。這可能會破壞所有使用提交 ID 的系統,如代碼審查或票務系統。
uj5u.com熱心網友回復:
洗掉提交似乎有點極端,因為與該用戶關聯的代碼也會丟失。
我會安裝newren/git-filter-repo并重寫這些提交的作者,將其名稱/電子郵件更改為一個虛擬的。
請參閱“如何使用過濾器分支更改多個提交的提交作者? ”和
“ git filter-repo/基于用戶和電子郵件的過濾”
git filter-repo --mailmap my-mailmap
與my-mailmap:
Correct Name <[email protected]> <[email protected]>
這將與正確的作者一起重寫您的提交。
然后,您需要git push --force(假設有一個main分支)以使用新提交覆寫遠程歷史記錄:確保每個協作者再次克隆存盤庫,以便使用新歷史記錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/403017.html
標籤:
上一篇:拉取多個存盤庫后如何保留分支
