2011-12-12 33 views
13

Làm thế nào để thay đổi các tác giả của tôi cam kết sau khi tôi đã đẩy nó vào kho thượng nguồnThay đổi git tác giả sau khi git push

+0

Đối với một trong -depth giải thích lý do tại sao đẩy lịch sử viết lại có thể đáng sợ (nếu có ai có thể đã kéo từ kho lưu trữ ngược dòng) xem http://stackoverflow.com/questions/8448973/how-do-you-deal-with-a-public-repository -that-has-already-been-rebased/8449701 # 8449701 – Cascabel

Trả lời

20

Bạn sẽ phải sửa đổi các cam kết (git commit --amend --author="New Author Name <[email protected]>") trên kho lưu trữ và lực lượng địa phương của bạn push - git push -f thay đổi (viết lại lịch sử thường là hành vi xấu khi bạn đã đẩy ngược dòng).

+0

git push -f không hoạt động với tôi –

5

Một giải pháp hoàn chỉnh khác.

Trong trường hợp bạn đã thực hiện nhiều thao tác git-push mà không nhận ra rằng các cam kết đi kèm với một tài khoản email khác. bây giờ bạn cần phải thay đổi điều đó. đây là lệnh mà tôi đã sử dụng để chuyển đổi tất cả các cam kết trước đó của tôi bằng một email khác với id email mới.

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Tarandeep Singh'; GIT_AUTHOR_EMAIL='[email protected]'; GIT_COMMITTER_NAME='Tarandeep Singh'; GIT_COMMITTER_EMAIL='[email protected]';" HEAD; 

Lưu ý: Sau khi bạn sao chép các lệnh trên xin vui lòng vào sự thay đổi đầu tiên để đặt tên và email của bạn mà tôi đang sử dụng tên và email của tôi trong lệnh

Cảm ơn

+2

lol tại "Lưu ý" về việc thay đổi để sử dụng chi tiết của riêng bạn .. :) –