2012-05-23 35 views
8

Tôi đang sử dụng github cho mac, GUI cho git mà github cung cấp và tôi đã hoàn nguyên một cam kết trong lịch sử. Sau đó tôi quyết định tôi muốn quay trở lại điều đó một lần nữa, và .... câu chuyện dài ngắn, tôi có một loạt các sự trở lại không cần thiết và không muốn đồng bộ hóa với github, nhưng chúng tự động được cam kết để lựa chọn duy nhất tôi có là để đồng bộ hóa.Làm thế nào để uncommit trong github cho mac?

Không có cách nào để chỉ bỏ qua những thay đổi đó?

+2

Nếu bạn không quá sợ hãi của dòng lệnh, hãy thử 'reset git '. – Reactormonk

+0

Cảm ơn, thats những gì tôi đã thực sự nhưng tôi đang cố gắng để xem nếu theres một cách để làm điều này thông qua GUI – GiH

Trả lời

5

Có vẻ như hiện tại không có cách nào thông qua GUI ... Hy vọng rằng những người tốt ở Github sẽ thấy điều này và mang nó như là một gợi ý tính năng.

Hiện tại, chúng tôi chỉ có thể thực hiện như Tass được đề xuất trong nhận xét ở trên. git reset <commit you want to reset to>

3

Dưới đây là một số điều bạn có thể làm với GitHub cho Mac GUI:

A. Ngay sau khi thực hiện một cam kết trong repo địa phương của bạn, nhưng trước khi đồng bộ, GitHub cho Mac sẽ cho phép bạn hoàn tác lần commit cuối cùng của bạn. Sử dụng nút "Hoàn tác" ở cuối ngăn Thay đổi. Đây là những gì tôi sử dụng thường xuyên nhất.

B. Sau khi đồng bộ hóa, bạn có thể hoàn nguyên cam kết từ GUI như sau: chọn kho lưu trữ của bạn, sau đó chọn "Lịch sử". Cuối cùng chọn cam kết cuối cùng. Trong chế độ xem chi tiết (tệp khác) của cam kết ở trên cùng, bạn sẽ thấy biểu tượng bánh răng "cài đặt". Một trình đơn thả xuống có mục "Hoàn nguyên Cam kết này". Xem bên dưới. Lưu ý rằng điều này không loại bỏ cam kết của bạn nhưng nó có hiệu quả undoes những thay đổi được giới thiệu bởi cam kết của bạn.

C. Nếu bạn chọn cam kết trước đó (tức là, sớm hơn lần cuối), bạn có thể sử dụng cùng một menu để "cuộn lại cho cam kết này". Một lần nữa, điều này không loại bỏ các cam kết của bạn nhưng giới thiệu những thay đổi có ảnh hưởng của việc hoàn tác chúng.

Đây vẫn là cách tốt nhất có thể thực hiện thông qua GUI. Nếu bạn thực sự muốn xóa các cam kết trước đây của mình khỏi lịch sử, bạn vẫn cần phải sử dụng dòng lệnh: ví dụ: git rebase -i HEAD~2 sẽ cho phép bạn để squash hai cam kết cuối cùng của bạn thành một. Xem the answers to this question để được hướng dẫn.

D. Lưu ý rằng một khi bạn đã cam kết cam kết từ dòng lệnh, bạn có thể sử dụng (A) để mở lại cam kết cuối cùng (tức là kết quả của bóng quần) từ GUI.


enter image description here

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