Menu
CoddyTech

Đặt lại nhánh

Thuộc phần Kiểm soát phiên bản trong hành trình Terminal của Coddy. Bài học 44 trên 58.

git reset di chuyển con trỏ nhánh hiện tại đến một commit khác. Cách dùng phổ biến nhất là hoàn tác các commit gần đây mà bạn chưa chia sẻ.

git reset --hard HEAD~1

Thao tác này đưa main lùi lại một commit và ghi đè thư mục làm việc để khớp với commit đó. Commit bạn bỏ qua không còn truy cập được từ nhánh của bạn nữa. Git giữ commit đó một thời gian phòng khi bạn đổi ý, nhưng hãy chuẩn bị tinh thần rằng commit sẽ biến mất.

Có ba kiểu đặt lại:

  • --soft: di chuyển con trỏ nhánh; giữ nguyên các thay đổi đã đưa vào vùng staging
  • --mixed (mặc định): di chuyển con trỏ; bỏ các thay đổi khỏi vùng staging nhưng giữ nguyên các tệp đang làm việc
  • --hard: di chuyển con trỏ; xóa cả các thay đổi trong tệp đang làm việc

--hard là dạng có tính phá hủy mạnh nhất. Tùy chọn này rất hữu ích để dọn dẹp các lỗi cục bộ, nhưng đừng bao giờ dùng nó với những commit mà người khác đã pull.

challenge icon

Thử thách

Trung bình

Thư mục chứa doc.md. Khởi tạo repository và tạo ba commit theo thứ tự:

  1. Thêm doc.md với thông điệp Add doc.
  2. Nối second vào doc.md, commit với thông điệp Second draft.
  3. Nối third vào doc.md, commit với thông điệp Third draft.

Đặt lại nhánh về commit đầu tiên bằng HEAD~2. In nội dung của doc.md.

Tự làm thử

Terminal
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiểm soát phiên bản

Tự luyện tập: Playground Terminal