Xóa nhánh, Reset commit trên Git

1. Để reset nhánh local và remote về một commit trước đây:

Reset Local Branch

Kiểm tra hash của commit trước đây:

Bạn cần biết hash của commit mà bạn muốn reset về. Sử dụng lệnh sau để xem lịch sử commit và lấy hash:

    git log

Reset local branch về commit mong muốn:

Giả sử hash của commit là abc1234, bạn sử dụng lệnh:

    git reset --hard abc1234

Reset Remote Branch

Force push để cập nhật remote branch:

Sau khi reset local branch, bạn cần force push để cập nhật remote branch:

    git push origin HEAD --force

Lưu ý: origin là tên remote mặc định. Nếu bạn sử dụng remote khác, hãy thay thế origin bằng tên remote của bạn.

Cảnh báo

Reset và force push có thể gây mất dữ liệu nếu có các commit mới sau commit bạn đang reset về. Hãy chắc chắn rằng bạn hiểu rủi ro này và thông báo cho các thành viên trong nhóm nếu cần thiết.

git log

Giả sử bạn muốn reset về commit có hash abc1234.

    git reset --hard abc1234

    git push origin HEAD --force

Đây là cách bạn có thể reset cả nhánh local và remote về commit trước đây.


2. xóa nhánh local

Để xóa một nhánh local trong Git, bạn có thể làm theo các bước sau:

Kiểm tra các nhánh hiện có:

Sử dụng lệnh sau để kiểm tra danh sách các nhánh hiện có và xác định nhánh bạn muốn xóa:

    git branch

Xóa nhánh local:

Giả sử bạn muốn xóa nhánh có tên feature-branch, sử dụng lệnh sau:

    git branch -d feature-branch

Nếu nhánh mà bạn muốn xóa chưa được merge và bạn vẫn muốn xóa nó, bạn cần sử dụng lệnh -D để bắt buộc xóa:

    git branch -D feature-branch

Ví dụ cụ thể

Kiểm tra các nhánh hiện có:

    git branch

Giả sử danh sách nhánh hiện có là:

* main

  feature-branch

  another-branch

Xóa nhánh feature-branch:

    git branch -d feature-branch

Nếu nhánh feature-branch chưa được merge và bạn muốn xóa nó, sử dụng:

    git branch -D feature-branch

Lệnh trên sẽ xóa nhánh local feature-branch khỏi repository của bạn.

Nhận xét

Bài đăng phổ biến từ blog này

How to Build NodeJS REST API with Express and PostgreSQL

Cài đặt Let's Encrypt trên CentOS 7

Password so với SSH key – sử dụng cách xác thực nào tốt hơn?