2010-02-14 25 views
6

Tôi đã bắt đầu chuyển các dự án lật đổ riêng tư thành git (Github) và phát hành mã cho công chúng. Vì vậy, tôi là một git newbie.Git: xóa một bản sửa đổi từ xa đơn

Thật không may, có bản sửa đổi dự án chứa dữ liệu bí mật. Bản sửa đổi không được gắn thẻ, tôi chỉ biết giá trị băm của nó.

Có cách nào để xóa hoàn toàn bản sửa đổi cụ thể đó khỏi kho lưu trữ git từ xa không? Đây là một dự án solo, vì vậy không ai bị tổn hại từ hoạt động này.

+0

Xem "Xóa dữ liệu nhạy cảm" tại GitHub: http://help.github.com/removing-sensitive-data/ –

+0

Có thể trùng lặp: http://stackoverflow.com/questions/872565/how-do- i-remove-sensitive-files-from-gits-history –

+0

hướng dẫn bạn đang liên kết không cung cấp giải pháp cho vấn đề của tôi. Nó chỉ xóa các tập tin từ tất cả các phiên bản. Tôi không muốn xóa tệp, tôi chỉ muốn xóa bản sửa đổi. Dù sao, tôi đã có thể tìm thấy giải pháp bằng cách googling, tìm một câu hỏi SO. – dgraziotin

Trả lời

3

Bài đăng nằm ở số here đã giải quyết được sự cố của tôi.

Nếu cam kết mà bạn muốn sửa chữa không phải là gần đây nhất:

  1. git rebase --interactive $parent_of_flawed_commit

    Nếu bạn muốn sửa chữa một vài cam kết không hoàn thiện, vượt qua cha mẹ của một trong những lâu đời nhất của chúng.

  2. Một trình chỉnh sửa sẽ xuất hiện, với danh sách tất cả các cam kết từ số bạn đã cam kết.

    1. Thay đổi pick thành edit trước bất kỳ cam kết nào bạn muốn sửa.
    2. Khi bạn lưu, git sẽ phát lại các cam kết được liệt kê.
  3. Git sẽ thả trở lại vỏ cho mỗi cam kết bạn nói bạn muốn chỉnh sửa:

    1. Thay đổi cam kết trong bất kỳ cách nào bạn muốn.
    2. git commit --amend
    3. git rebase --continue

Hầu hết các trình tự này sẽ được giải thích cho bạn bởi đầu ra của các lệnh khác nhau như bạn đi. Rất dễ dàng, bạn không cần phải ghi nhớ nó - chỉ cần nhớ rằng git rebase --interactive cho phép bạn chỉnh sửa các cam kết bất kể chúng đã lâu bao lâu rồi.

+0

nhờ định dạng, jleedev – dgraziotin

+0

Tôi nghĩ, bằng cách sử dụng 'squash' thay vì' edit' làm cho nó dễ dàng hơn. –

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