Đặ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~1Thao 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.
Thử thách
Trung bìnhThư mục chứa doc.md. Khởi tạo repository và tạo ba commit theo thứ tự:
- Thêm
doc.mdvới thông điệpAdd doc. - Nối
secondvàodoc.md, commit với thông điệpSecond draft. - Nối
thirdvàodoc.md, commit với thông điệpThird 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ử
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
4Kiểm tra các thay đổi
Git DiffSo sánh các thay đổi đã đưa vào vùng chờGit ShowÔn tập: Công việc của thám tử3Theo dõi thay đổi
Khu vực stagingGit AddGit CommitChỉnh sửa tệp đã được theo dõiGit LogÔn tập: các commit đầu tiên6Dự án trang web công thức
Tổng quan dự ánKhởi tạo và bỏ qua9Hoàn tác thay đổi
Hủy thay đổi chưa đưa vào stagingBỏ tệp khỏi stagingSửa commit cuối cùngHoàn tác một commitĐặt lại nhánhÔn tập: cỗ máy thời gianTự luyện tập: Playground Terminal