Hãy để tôi giải thích một số trường hợp sử dụng của thanh toán với tệp, thư mục và các nhánh để nó có thể hữu ích trong việc hiểu.
Giả sử chúng ta có thư mục được đặt tên dev
và index.html
mọi thứ đều được theo dõi và thư mục làm việc sạch sẽ.
Nếu tôi vô tình thay đổi tên tệp index.html
và tôi muốn hoàn tác mà tôi sẽ sử dụng, git checkout index.html
nó sẽ khôi phục trạng thái tệp đó từ kho lưu trữ hiện được chọn nhánh.
Bây giờ nếu tôi đã thực hiện một số thay đổi trong dev
thư mục và muốn khôi phục điều đó. Tôi có thể sử dụng git checkout dev
nhưng điều gì sẽ xảy ra nếu đã có nhánh được đặt tên dev
thay vì kiểm tra thư mục đó, nó sẽ kéo xuống nhánh đó. Để tránh điều đó, tôi muốn làm git checkout -- dev
.
Bây giờ ở đây dấu gạch ngang đôi trần là viết tắt của nhánh hiện tại và yêu cầu git cho thư mục dev
từ nhánh hiện được chọn.
Tương tự Nếu tôi làm điều git checkout alpha dev
đó sẽ kéo xuống thư mục dev từ nhánh alpha.
Câu trả lời này dành cho câu hỏi đầu tiên của bạn 'git checkout thực sự có ý nghĩa gì'.