- Published on
Giải quyết vấn đề commit lộn vô nhánh chính
- Authors
- Name
- Hai Nguyen
Có tình huống do không để ý, đáng nhẽ chúng ta làm ở nhánh feature
và sẽ tạo commit. Rồi từ đó tạo merge request lên nhánh main
. Tuy nhiên khi commit xong mới để ý là ta mới ngớ ra:
- Ô mình commit vô main à!?
Để giải quyết hãy thực hiện bước sau:
- Tạo nhánh feature mới nếu bạn chưa tao
git checkout main
git pull origin main # Đảm bảo rằng bạn ở phiên bản mới nhất
git checkout -b feature # Tạo nhánh feature mới
- Chuyển code từ
main
->feature
git cherry-pick <comit-hash>
Thay <commit-hash>
bằng mã hash của commit mà bạn lỡ tay thực hiện. Một trong các cách để tìm ra mã hash là chạy
git log # chú ý chạy trên chính nhánh ta commit lộn là main để biết hash code
- Xoá commit khỏi nhánh
main
Bạn cần xoá commit kia khỏi nhánh main
. Để làm điều này, gõ lệnh reset
:
git checkout main
git reset --hard HEAD~1
- Lưu ý: Head~1 sẽ loại bỏ commit cuối cùng
- Push lên remote Sau khi thực hiện các bước trên, bạn cần push lại các thay đổi lên remote repository:
git push origin main --force
git push origin feature
- Tạo Merge request
Bây giờ bạn có thể tạo Merge Request từ nhánh feature vào nhánh main.
Cuộn xuống để tải bình luận