Nó nói rằng:
Khi bạn lưu và thoát trình chỉnh sửa, nó sẽ tua lại bạn trở lại cam kết cuối cùng trong danh sách đó và thả bạn vào dòng lệnh với thông báo sau:
$ git rebase -i HEAD~3
Stopped at 7482e0d... updated the gemspec to hopefully work better
You can amend the commit now, with
Nó không có nghĩa:
gõ lại git rebase -i HEAD~3
Cố gắng không gõ git rebase -i HEAD~3
khi thoát khỏi trình soạn thảo, và nó sẽ hoạt động tốt.
(nếu không, trong tình huống cụ thể của bạn, git rebase -i --abort
có thể cần thiết để đặt lại mọi thứ và cho phép bạn thử lại)
Như Dave Vogt đã đề cập trong các bình luận, git rebase --continue
là để đi đến nhiệm vụ tiếp theo trong quá trình nổi loạn, sau khi bạn đã sửa đổi cam kết đầu tiên .
Ngoài ra, Gregg Lind đề cập đến trong câu trả lời của mình về reword
lệnhgit rebase
:
Bằng cách thay thế lệnh "chọn" bằng lệnh "chỉnh sửa", bạn có thể yêu git rebase
cầu dừng lại sau khi áp dụng cam kết đó, để bạn có thể chỉnh sửa các tệp và / hoặc thông báo cam kết, sửa đổi cam kết và tiếp tục khởi động lại.
Nếu bạn chỉ muốn chỉnh sửa thông báo cam kết cho một cam kết, hãy thay thế lệnh " pick
" bằng lệnh " reword
" , kể từ Git1.6.6 (tháng 1 năm 2010) .
Nó thực hiện điều tương tự ' edit
' trong quá trình rebase tương tác, ngoại trừ việc nó chỉ cho phép bạn chỉnh sửa thông điệp cam kết mà không trả lại quyền điều khiển cho trình bao . Điều này là vô cùng hữu ích.
Hiện tại nếu bạn muốn dọn sạch các tin nhắn cam kết của mình, bạn phải:
$ git rebase -i next
Sau đó đặt tất cả các cam kết thành 'chỉnh sửa'. Sau đó, trên mỗi một:
# Change the message in your editor.
$ git commit --amend
$ git rebase --continue
Sử dụng ' reword
' thay vì ' edit
' cho phép bạn bỏ qua git-commit
và git-rebase
gọi .
git rebase --continue
đi đến nhiệm vụ tiếp theo trong quy trình khởi động lại, sau khi bạn đã sửa đổi cam kết đầu tiên.