Làm thế nào để chỉnh sửa lỗi commit ngay sau khi đã thực hiện?


 

Làm thế nào để chỉnh sửa lỗi commit ngay sau khi đã thực hiện? 

1.Vấn đề:

    Việc commit code là một phần của cuộc sống hàng ngày đối với các nhà phát triển. Tuy nhiên, đôi khi vì một số lý do, bạn có thể lỡ commit mà thiếu sót nội dung hoặc phát hiện ra lỗi sau khi đã commit mà chưa kịp sửa. Trong tình huống này, bạn sẽ phải làm gì? Một số người có thể chọn cách tạo một commit khác để sửa các lỗi này. Tuy nhiên, việc này có thể làm cho lịch sử commit của kho lưu trữ Git trở nên rối rắm với những commit dư thừa hoặc thậm chí khiến bạn dường như thiếu sự chuyên nghiệp trong quá trình làm việc.

2.Sửa lại commit:

    Git cho phép chúng ta điều chỉnh nội dung của commit cuối cùng bằng cách sử dụng lệnh git commit --amend --no-edit. Bạn có thể áp dụng cách này để giải quyết vấn đề đã được nêu ở trên. Ví dụ, nếu commit cuối cùng của bạn là  “release version 1.0.1” và ngay sau khi commit bạn nhận ra rằng bạn đã quên thêm tệp README.md, bạn có thể thực hiện như sau:
    
- git add README.md
    - 
git commit --amend --no-edit

    Sau đó hãy thử kiểm tra lại lịch sử commit, bạn sẽ thấy file README.md đã được add vào.

3. Sửa lại nội dung commit vừa xong:

    Git cũng cho phép bạn sửa lại message của commit cuối cùng bằng lệnh git commit --amend -m <message>. Ví dụ tôi muốn sửa lại message “release version 1.0.1” -> “release v1.0.1” thì:
   - git commit --amend -m "release v1.0.1"

4. Xoá commit mà không cần revert:

    Cách này chỉ áp dụng trong trường hợp bạn chỉ mới thực hiện commit ở máy cục bộ (local) mà chưa đẩy lên máy chủ từ xa (remote). Khi bạn thực hiện commit nhưng chưa đẩy lên máy chủ từ xa, bạn có thể xóa những commit đó ở máy cục bộ bằng cách sử dụng lệnh git reset --hard <remote/branch>.
    Lệnh này sẽ đặt lại HEAD ở máy cục bộ để khớp với HEAD ở máy chủ từ xa, tức là nó sẽ đồng bộ hóa những commit từ máy chủ từ xa về máy cục bộ, dẫn đến việc xóa những commit chưa được đẩy lên máy chủ từ xa.
    Hãy lưu ý rằng việc này cũng có nghĩa là bạn sẽ mất đi những commit chưa đẩy lên máy chủ từ xa, và bạn sẽ cần phải thực hiện viết lại những commit đó nếu cần. Ví dụ tôi reset lại branch develop ở remote name là origin:
    - git reset --hard origin/develop

4. Kết luận:

    Trên đây là một số câu lệnh Git giúp xử lý một số tình huống liên quan đến việc commit không cẩn thận. Tuy nhiên, trước khi thực hiện commit, mọi người nên luôn kiểm tra kỹ nội dung để tránh các tình huống không mong muốn!

             

Đăng nhận xét

Mới hơn Cũ hơn