Giải thích ở trên là tốt nhưng hãy để tôi giải thích bằng các ví dụ.
git checkout
có thể được sử dụng với các thư mục và thư mục tệp.
Giả sử có index.html
tệp và dev
thư mục.
Nếu tôi vô tình thay đổi index.html
và tôi muốn hoàn tác, tôi chỉ cần chạy git checkout index.html
. Nó sẽ nhận được tập tin của tôi trở lại hình thức ban đầu của nó.
Bây giờ hãy nói rằng tôi đã thực hiện một số thay đổi trong thư mục dev và muốn những thay đổi đó trở lại bên trong thư mục dev. Nếu tôi sẽ sử dụng git checkout dev
và nếu có bất kỳ chi nhánh dev
thì nó sẽ thanh toán rằng chi nhánh dev thay vì thư mục có tên dev
.
Vì vậy, thay vì tôi sẽ chạy git checkout -- dev
Bây giờ đôi dash trần này là viết tắt của chi nhánh hiện hành. Vì vậy, trên lệnh là yêu cầu từ git là xin vui lòng cho tôi 'dev' tên thư mục từ chi nhánh hiện tại.
Cho phép nói về trường hợp sử dụng của bạn.
git checkout branch
lệnh này sẽ chỉ đơn giản là kiểm tra các chi nhánh có tên là 'ngành'
git checkout branch .
Lệnh thứ hai sẽ cho git đó xin vui lòng kiểm .
hay hiện tên thư mục từ các chi nhánh có tên là 'ngành'
git checkout . #<-- used at the branch
như bạn đang có Trước tiên, bạn chuyển sang nhánh có tên là 'branch' bằng cách sử dụng git checkout branch
thì bạn chỉ cần thực hiện git checkout .
Bây giờ không có chi nhánh nào có tên .
do đó nó sẽ đơn giản kéo tên thư mục hiện tại từ nhánh hiện tại.
Không được sử dụng "tại chi nhánh". Đối số đầu tiên chỉ được coi là một chi nhánh nếu nó thực sự đặt tên một, mà '.' không. Vì vậy, nó chỉ đơn giản là con đường. Nó sẽ chỉ là chi nhánh nếu bạn nói 'git checkout. --', khi mà git sẽ phàn nàn rằng không có bản sửa đổi nào có tên '.'. –
Với hình thức đầu tiên, bạn hãy kiểm tra chi nhánh vào bản sao làm việc hiện tại. Vì vậy, bạn có ý nghĩa gì bởi "vào các thư mục khác nhau"? –
Tôi có nghĩa là tôi có ví dụ 2 chi nhánh. Và đầu tiên sẽ được checkout thành công nhưng thứ hai bỏ lỡ một số tập tin. Nhưng nếu tôi sử dụng dòng thứ hai, mọi thứ sẽ là ok – Arseniy