Sự khác biệt giữa git clone
và là git checkout
gì?
Sự khác biệt giữa git clone
và là git checkout
gì?
Câu trả lời:
Trang hướng dẫn thanh toán: http://git-scm.com/docs/git-checkout
Trang người đàn ông cho bản sao: http://git-scm.com/docs/git-clone
Tóm lại, clone là để tìm nạp các kho lưu trữ mà bạn không có, thanh toán là để chuyển đổi giữa các chi nhánh trong kho lưu trữ mà bạn đã có.
Lưu ý: đối với những người có nền SVN / CVS và mới sử dụng Git, tương đương với git clone
SVN / CVS là checkout
. Các từ ngữ giống nhau của các thuật ngữ khác nhau thường gây nhầm lẫn.
checkout
cũng có thể được sử dụng cho những thứ khác, như ghi đè một tệp của bạn trong bản sao làm việc của bạn với một phiên bản của tệp đó từ một phiên bản khác.
git clone là tìm nạp kho của bạn từ máy chủ git từ xa.
kiểm tra git là để kiểm tra trạng thái mong muốn của bạn về kho lưu trữ của bạn (như các chi nhánh hoặc các tệp cụ thể).
Ví dụ, bạn hiện đang ở chi nhánh chính và bạn muốn chuyển sang phát triển chi nhánh.
git checkout develop_branch
Ví dụ: bạn muốn kiểm tra trạng thái cụ thể của một tệp cụ thể
git checkout commit_point_A -- <filename>
Dưới đây là một tài liệu tham khảo tốt để bạn học Git, cho phép bạn hiểu dễ dàng hơn nhiều.
git clone
cũng sẽ làm việc với repos địa phương.
Một điều cần chú ý là không có bất kỳ "Sao chép" nào trong git. Đó là bởi vì bạn đã có một bản sao đầy đủ trong repo địa phương của bạn - repo địa phương của bạn là một clone
repo ngược dòng bạn đã chọn. Vì vậy, bạn có hiệu quả một cá nhân checkout
của tất cả mọi thứ , không đưa vào một số 'khóa' trên các tập tin trong repo tham khảo.
Git cung cấp các giá trị băm SHA1 làm cơ chế xác minh rằng bản sao bạn có của một tệp / cây thư mục / commit / repo giống hệt như được sử dụng bởi bất cứ ai có thể khai báo mọi thứ là "Master" trong hệ thống phân cấp tin cậy. Điều này tránh tất cả các 'khóa' khiến hầu hết các hệ thống SCM bị sặc (với các vấn đề thông thường là các bản sao riêng tư, sáp nhập lớn và không có sự kiểm soát hoặc quản lý thực sự của mã nguồn ;-)!
Đơn giản chỉ cần kiểm tra git có 2 công dụng
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
sẽ tạo một nhánh mới với nội dung của master và chuyển sang nhánh mới được tạoBạn có thể tìm thấy nhiều lựa chọn hơn tại trang web chính thức
-b
tùy chọn là tuyệt vời mà tạo ra một chi nhánh địa phương mới và kiểm tra nó ra cũng cùng lúc trong lệnh duy nhất. Đã yêu nó!
checkout
có thể được sử dụng cho nhiều trường hợp:
Trường hợp thứ nhất : chuyển đổi giữa các nhánh trong kho lưu trữ cục bộ Ví dụ:
git checkout exists_branch_to_switch
Bạn cũng có thể tạo chi nhánh mới và chuyển qua trong trường hợp này với -b
git checkout -b new_branch_to_switch
Trường hợp thứ 2 : khôi phục tập tin từ x rev
git checkout rev file_to_restore
...