2012-01-04 14 views
10

Tôi đang cố gắng để rebase một cam kết. Tuy nhiên, bất cứ lúc nào tôi chạy git rebase -i f83eff3ffc8, ví dụ, một cửa sổ MacVim mở ra, nó trống (không có thông tin trong tệp). Sau đó, khi tôi viết và đóng tệp (mặc dù nó trống), tôi nhận được thông báo Successfully rebased and updated refs/heads/clicktocall-hotfix.git rebase -i trình bày một tập tin MacVim rỗng

Tên tệp là .git/rebase-merge/git-rebase-todo. Tôi cũng đã thử chạy nó với sudo nhưng điều này đã không tạo ra sự khác biệt.

Điều gì có thể là vấn đề? Tôi chưa bao giờ hoàn thành thành công việc rebase.

+2

Không có gì để làm với vim. Đã xóa thẻ. – manojlds

+2

Có vẻ như git đang thực hiện thành công việc rebase "no-op". Bạn đang cố làm gì vậy? Vui lòng mô tả cấu trúc nhánh của bạn và vị trí của 'f83eff' là commit. Bạn có thể thấy điều này hữu ích: http://www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html – opqdonut

+0

Chính xác, một tệp rebi -i trống có nghĩa là bạn thử và tự rebase HEAD, đây không phải là cách git rebase hoạt động. – fge

Trả lời

4

Tôi đã sử dụng MacVim và cần thiết để chạy mvim với các tùy chọn -f, như ghi nhận ở đây: GIT_EDITOR not working with macvim

+2

Để tham khảo. Tôi đã có một vấn đề tương tự khi chuyển từ Sublime sang Atom và quên cập nhật git editor. Điều này sẽ giúp: cấu hình git --global core.editor "atom --wait" –

1

Bạn thậm chí không cần phải xem tệp git-rebase-todo. Vim sẽ hiển thị một dòng noop và một số bình luận. Sau khi lưu điều đó, bạn sẽ nhận được "Đã hoàn thành và cập nhật thành công".

Bạn đang sử dụng phiên bản cũ của git, bạn có cài đặt git bị hỏng hoặc bạn đã chạm vào thư mục .git theo cách nào đó để khiến ứng dụng hoạt động theo cách này.

1

Tôi đã sử dụng Atom và chạy vào vấn đề này. Tôi đặt trình chỉnh sửa mặc định của mình như sau:

export VISUAL=vim 
export EDITOR="$VISUAL" 

Bây giờ mọi thứ đều hoạt động tốt.

TL; DR; Sử dụng Vim.