2014-04-25 18 views
7

Vì vậy, tôi đã có một nhánh phát triển với cam kết mà tôi muốn hoàn nguyên. Vì vậy, tôi gõ vào git revert <commit-hash>Git Hoàn nguyên không hoạt động

Nhưng khi nó chạy nó nói:

$ git revert 165702b305 
On branch develop 
nothing to commit, working directory clean 

này cam kết đã được theo dõi xuống như là thủ phạm của một lỗi và id muốn trở nó, nhưng đối với một số lý do nó không làm việc. Nó có thể bị hỏng bằng cách nào đó? Các câu trả lời và tìm kiếm khác không thể giúp được.

+0

Có thể tất cả các thay đổi của cam kết này đã được hoàn nguyên trong các cam kết khác và lỗi tương tự có nguồn gốc khác không? – Netch

+0

bạn có thể thử giải pháp cho các câu hỏi trước: (1) http://stackoverflow.com/questions/4114095/revert-to-previous-git-commit (2) http://stackoverflow.com/questions/927358/how- để-undo-the-last-git-cam kết – kikicarbonell

+0

Câu hỏi này không thực sự có đủ thông tin để có thể biết những gì đang xảy ra. Có lẽ nếu bạn thêm đầu ra của 'git log --oneline --graph --decorate', điều đó sẽ hữu ích, nhưng tôi nhận ra rằng câu hỏi này đã cũ rồi. – TheWarriorNamedFoo

Trả lời

1

Tôi có chính xác cùng một vấn đề và cú pháp dưới đây làm việc cho tôi:

git revert -n master~5..master~2 
2

Đã vấn đề tương tự sử dụng:

git revert --no-commit <commit-id> -n HEAD 

Làm việc đối với tôi

0

tôi đã cùng một vấn đề và kết thúc tăng cơ hội của tôi theo cách thủ công. Tôi nghĩ vấn đề là vì các cam kết khác. Tôi đã cố gắng để trở lại nhiều hơn một lần và tôi đã cam kết trong quá trình trở lại trạng của tôi và sau đó nó ngừng làm việc

Tôi đề nghị cố gắng:

git revert --no-commit <commit-id> -n HEAD 
-1

này đã làm việc cho tôi:

git reset HEAD^ 

Bằng cách đó Tôi có thể hoàn nguyên một chút trước khi tôi thực hiện một cam kết và giữ tất cả các thay đổi, để tôi có thể dễ dàng sửa đổi chỉ một phần của mã.

Tôi cũng có thể thực hiện lệnh này vài lần để di chuyển vài cam kết trong quá khứ và giữ tất cả thay đổi.

Nó hoạt động cho các cam kết bạn đã thực hiện cho kho lưu trữ cục bộ của mình. Nếu bạn đã đẩy (tải lên) các cam kết của bạn đến một máy chủ, bạn sẽ phải tìm một cách khác.

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