2012-06-10 36 views
7

Tôi có kho lưu trữ git cục bộ mà tôi đã thực hiện khá nhiều công việc, với một số cam kết mà tôi muốn giữ lại. Thật không may, trong khi mã là hợp lý tái sử dụng, tôi đã bao gồm một số dữ liệu nhạy cảm (tên cơ sở dữ liệu/người dùng/mật khẩu) trong một cam kết rất sớm. Tôi muốn thay đổi toàn bộ lịch sử để ẩn danh dữ liệu nhạy cảm, trong khi vẫn giữ lại cấu trúc lịch sử chung. Điều này có thể không? Nếu vậy, làm thế nào?Ẩn danh kho lưu trữ git cục bộ?

Trả lời

6

Tôi nghĩ rằng điều này sẽ giúp:

+0

Có. Lịch sử viết lại là chìa khóa. Tôi đã tạo một repo sao lưu (chỉ trong trường hợp), và sau đó chạy 'git filter-branch --tree-filter' sed-i 's/dữ liệu nhạy cảm/dữ liệu sạch/g *' HEAD', và xóa tất cả mọi thứ khỏi toàn bộ – naught101

0

Hủy bỏ chúng ra khỏi kho, sau đó cam kết. Sau đó, bạn cần phải đè bẹp tất cả các cam kết khi các tệp được thêm vào khi chúng được xóa. Bạn có thể thấy một giải thích tốt về điều đó here trong ngắn hạn đề xuất sử dụng git rebase -i.

+0

Tôi biết rằng tôi có thể bí mật, nhưng điều đó sẽ loại bỏ lịch sử mà tôi đang nói đến. – naught101

Các vấn đề liên quan