Tôi gặp sự cố nghiêm trọng khi cố gắng thực hiện git rebase --interactive
trên repo của mình. Tôi nhận được lỗi khó hiểu fatal: ref HEAD is not a symbolic ref
và quá trình rebase của tôi ngừng hoạt động. Tôi phải git rebase --abort
để quay lại trạng thái tốt.Tôi không thể git rebase --interactive nữa
Sau đây là các đầu ra (s) Tôi nhận: https://gist.github.com/d38f1e2d2ec9bc480b6f
Những gì tôi đã nói trong quá khứ là điều này là do thực tế là tôi đang ở "ĐẦU tách ra" chế độ, nhưng làm thế nào sẽ Tôi đã nhận được vào rebase ở nơi đầu tiên nếu tôi đang ở trong chế độ đó? Tôi chắc chắn nhất bắt đầu từ master
, sau đó chạy git rebase --interactive
và sửa đổi tệp văn bản git-rebase-todo thành những gì tôi muốn. Và sau đó lỗi này xảy ra.
Tôi đã hỏi mọi người ở đây tại nơi làm việc và một số người @ #git trên freenode. Không ai có thể thực sự hiểu được vấn đề của tôi hoặc biết giải pháp là gì. Googling cho rằng lỗi sản xuất không có gì, tìm kiếm có liên quan trên StackOverflow đã chứng minh không có gì. Tôi dường như không thể hiểu được điều này, và nó thực sự què xuống từ việc đè bẹp mọi cam kết mà tôi cố gắng làm chủ để thúc đẩy mọi thay đổi nhỏ mà tôi thực hiện như là một cam kết riêng biệt.
Một rebase succezsfull -i được mô tả ở đây: http://davidstechtips.com/2011/03/collapsing-commits-in-git/. Trong trường hợp của bạn, hãy thử 'git checkout master ', giống như '8bbfbba' có thể? Hoặc bạn không làm một 'git rebase --continue' sau một cuộc xung đột? – VonC
Nó có thể là bạn vẫn còn trong một rebase trước đó mà detaches đầu trong quá trình tái chế của nó. Điều này có thể xảy ra dễ dàng trong quá trình hồi phục lớn trong sức nóng của việc sửa chữa bước tương tác hiện tại và bạn có thể bị phân tâm. Tôi đã làm việc thông qua một rebase, nơi tôi đã có rất nhiều công việc (nhiều bước nhỏ) để làm, nhưng cuối cùng đã làm một 'rebase -i' riêng biệt cho mỗi và mọi bước chỉ vì vậy tôi đã không bị lạc. Việc kích hoạt trình git-gui và gitk visualiser cũng sẽ giúp ích cho bạn. [chắc chắn rằng bạn đang bắt đầu trên một trong các chi nhánh địa phương của bạn] –
Bạn có thể xác định xem bạn có thực sự ở chế độ HEAD tách rời hay không bằng cách xem nội dung của '.git/HEAD' Nếu nó chứa văn bản như" ref: refs/heads/... "bạn đang _not_ trong chế độ HEAD tách rời. Mặt khác, nếu nó chứa một SHA-ID (ví dụ: một chuỗi ký tự và số), bạn thực sự đang ở chế độ HEAD tách rời. –