Lệnh git checkout
Lệnh git checkout
được dùng để chuyển nhánh hoặc để
phục hồi file trong thư mục làm việc từ một commit trước đây ...
Từ phiên bản git 2.23 còn có thể 2 lệnh với chức năng tương ứng là:
git switch
và git restore
Sử dụng git checkout
Chuyển nhánh
Giả sử đang ở nhánh nào đó, muốn chuyển sang nhánh master thì thực hiện lệnh:
git checkout master
Lúc này nhánh master hoạt động, và thư mục làm việc là các file tương ứng với nhánh này
Các Video: Sử dụng Git, GitHub
Phục hồi file từ phiên bản cũ
Giả sử có file index.html, muốn phục hồi nó về phiên bản ở commit có mã hash là HASH, thì thực hiện:
git checkout HASH index.html
Nếu bạn muốn phục hồi nội dung từ index (staging nếu có, nếu không từ commit cuối) thì đơn giản là
git checkout index.html
Phục hồi nhiều file, ví dụ *.html từ index (staging nếu có, nếu không từ commit cuối)
git checkout -- *.html
Có thể thực hiện với tất cả các file bằng
git checkout -- .
Khi bạn trở về hẳn một commit có mã HASH nào đó bằng lệnh:
git checkout HASH
Thì lúc này con trỏ HEAD sẽ chuyển đến commit này, và Git ở chế độ head detached, bạn làm việc trên một nhánh tạm thời
Nếu có thực hiện các commit trên nhánh này và cần lưu lại thì cuối cùng tạo nhánh mới bằng lệnh
git switch -c ten-nhanh-moi
Sử dụng git switch
Lệnh này dùng để chuyển nhánh và có thể tạo nhánh mới, ví dụ chuyển về nhánh master
git switch master
Tạo nhánh mới, kích hoạt nhánh bắt đầu từ một commit có mã HASH
git switch -c ten-nhanh HASH
Hoặc tạo nhanh từ commit cuối
git switch -c ten-nhanh
Chuyển về làm việc tại nhánh tạm thời bắt đầu từ commit có mã HASH
git switch --detach HASH
Sử dụng git restore
Lệnh git restore
để phục hồi các file của thư mục làm việc.
Để phục hồi tất cả các file dùng lệnh:
git restore .
Cách sử dụng giống như git checkout cho trường hợp phục hồi