Xem xét việc sử dụng git-filter-branch
là không mong muốn , để làm điều tương tự trong git-filter-repo (bạn có thể cần phải cài đặt nó trước 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")'
Nếu kho lưu trữ là bản gốc, từ xa, bạn sẽ phải thêm --force
để buộc viết lại. (Bạn có thể muốn tạo bản sao lưu repo của mình trước khi thực hiện việc này.)
Nếu bạn không muốn duy trì refs (chúng sẽ được hiển thị trong lịch sử chi nhánh của GUI Git), bạn sẽ phải thêm --replace-refs delete-no-add
.
Để biết các tính năng nâng cao hơn, hãy xem "Lọc tên và email" .
PS bị đánh cắp và cải thiện từ https://stackoverflow.com/a/59591928/714907 .