2010-01-05 31 views
127

Cách đặt lại kho lưu trữ GIT từ xa và cục bộ để xóa tất cả các cam kết và bắt đầu làm mới với Đầu hiện tại làm cam kết ban đầu.Cách đặt lại kho lưu trữ GIT từ xa để xóa tất cả các cam kết?

+0

liên quan: http://stackoverflow.com/questions/495345/git-removing-selected-commits-from-repository – miku

+0

Tôi không muốn anh đào hái hoặc làm bất cứ điều gì khác, tôi chỉ muốn xóa tất cả thay đổi và đặt lại repo công cộng. Vì tôi là người dùng Git mới, tôi đã thực hiện một số cam kết sai. Việc xóa thư mục .GIT không phải là một tùy chọn vì cũng có một kho lưu trữ công cộng. –

+0

Bạn cũng có thể thực hiện một lực đẩy, vì vậy việc xóa thư mục .git thực sự là một tùy chọn. –

Trả lời

262

hoàn toàn thiết lập lại?

  1. Xóa thư mục .git cục bộ.

  2. Tạo lại repostory git:

    $ cd (project-directory) 
    $ git init 
    $ (add some files) 
    $ git add . 
    $ git commit -m 'Initial commit' 
    
  3. Push to máy chủ từ xa, ghi đè. Hãy nhớ rằng bạn sẽ làm rối tung mọi người khác làm điều này ... bạn tốt hơn là khách hàng duy nhất.

    $ git remote add origin <url> 
    $ git push --force --set-upstream origin master 
    
+0

+1 Suy nghĩ đầu tiên của tôi cũng vậy. Bạn phải sao lưu và khôi phục bất kỳ cấu hình cục bộ nào bạn có. –

+0

Vẫn còn trong repo từ xa tại GitHub, trong các tin nhắn tôi thấy tin nhắn trước đó. –

+1

nhưng các cam kết đã biến mất và kho lưu trữ được đặt lại. Chúng ta có thể loại bỏ những tin nhắn trước đó cũng ở phía trước của tên tập tin. –

5

Trước tiên, hãy làm theo hướng dẫn trong this question để chỉnh sửa mọi thứ thành một lần commit duy nhất. Sau đó thực hiện một sự thúc đẩy buộc phải điều khiển từ xa:

$ git push origin +master 

Và tùy chọn xóa tất cả các chi nhánh khác cả trong nước và từ xa:

$ git push origin :<branch> 
$ git branch -d <branch> 
Các vấn đề liên quan