के उपयोग को ध्यान में रखते git-filter-branchहै वांछित नहीं , में एक ही बात करने के लिए Git फिल्टर-रेपो (आप के साथ पहली बार यह स्थापित करने के लिए आवश्यकता हो सकती है pip install git-filter-repo):
git-filter-repo --name-callback 'return name.replace(b"OldName", b"NewName")' --email-callback 'return email.replace(b"old@email.com", b"new@email.com")'
यदि रिपॉजिटरी मूल है, w / o रिमोट, तो आपको --forceफिर से लिखने के लिए बाध्य करना होगा । (ऐसा करने से पहले आप अपने रेपो का बैकअप बनाना चाह सकते हैं।)
यदि आप refs को संरक्षित नहीं करना चाहते हैं (वे Git GUI के शाखा इतिहास में प्रदर्शित किए जाएंगे), तो आपको जोड़ना होगा --replace-refs delete-no-add।
अधिक उन्नत सुविधाओं के लिए, "नामों और ईमेल को फ़िल्टर करना" देखें ।
PS चोरी और https://stackoverflow.com/a/59591928/714907 से सुधार हुआ ।