Sự khác nhau giữa git clone
và git checkout
là gì?Sự khác nhau giữa git clone và checkout là gì?
Trả lời
Các trang người đàn ông cho thanh toán: http://git-scm.com/docs/git-checkout
Các man page của bản sao: http://git-scm.com/docs/git-clone
Nói tóm lại, bản sao là cho lấy kho bạn không có, kiểm tra là để chuyển đổi giữa các chi nhánh trong một 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 đối với Git, tương đương git clone
trong SVN/CVS là checkout
. Cùng một từ ngữ 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 đè tệp của bạn trong bản sao làm việc của bạn bằng phiên bản của tệp đó từ một bản sửa đổi khác. – svick
và khi nào bạn sử dụng "kéo" và "thanh toán"? – Kokodoko
kéo là tìm nạp cộng với việc hợp nhất, thanh toán là một hoạt động cục bộ chỉ hoạt động trên dữ liệu đã được tìm nạp. Vì vậy, nó không giống như thanh toán svn ở tất cả. –
git clone là tìm nạp kho của bạn từ máy chủ git từ xa.
git checkout là để kiểm tra trạng thái mong muốn của 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 ở nhánh chính và bạn muốn chuyển sang nhánh phát triển.
git checkout develop_branch
Ví dụ: bạn muốn kiểm đến một tình trạng cụ thể của một tập tin cụ thể
git checkout commit_point_A -- <filename>
Đây là một good reference cho bạn để tìm hiểu Git, cho phép bạn hiểu dễ dàng hơn nhiều.
"từ máy chủ git từ xa" - không cần thiết cho máy chủ ở xa. 'git clone' cũng sẽ làm việc với repos cục bộ. – SET
Cảm ơn các liên kết đến một tham chiếu trực quan để git! –
@Kit Ho: Liên kết là một tài liệu tham khảo, nhưng nó không giúp ích nhiều cho ai đó với những câu hỏi cơ bản về git như người ở trên. Như bản thân bài viết nói, "Một khi bạn biết một chút về cách git hoạt động, trang web này có thể củng cố sự hiểu biết của bạn" –
Một điều cần lưu ý là thiếu bất kỳ "Bản sao chép" nào trong git. Đó là vì bạn đã có đầy đủ bản sao trong repo địa phương của bạn - repo địa phương của bạn là clone
của repo ngược dòng đã chọn của bạn. Vì vậy, bạn có hiệu quả một cá nhân checkout
của mọi thứ, mà không đặt một số 'khóa' vào các tệp đó trong repo tham chiếu.
Git cung cấp giá trị băm SHA1 làm cơ chế để xác minh rằng bản sao bạn có của cây/thư mục/cam kết/repo giống hệt như được sử dụng bởi bất kỳ ai có thể khai báo mọi thứ dưới dạng "Chính" bên trong hệ thống phân cấp tin cậy. Điều này tránh tất cả những 'khóa' đó gây ra hầu hết các hệ thống SCM bị nghẹt thở (với các vấn đề thông thường của các bản sao riêng tư, sự hợp nhất lớn, và không kiểm soát thực sự hoặc quản lý mã nguồn ;-)!
Câu hỏi không đề cập đến ổ khóa và nó sẽ được giả định theo mặc định trong những ngày này mà một người không quen thuộc với điều này khái niệm nên những khác biệt này từ các VCS cũ chỉ nên được giải thích nếu được hỏi một cách rõ ràng. – wRAR
Đơn giản chỉ cần git checkout có 2 sử dụng
- Chuyển đổi giữa các chi nhánh địa phương hiện có như
git checkout <existing_local_branch_name>
- Tạo một chi nhánh mới từ chi nhánh hiện nay sử dụng lá cờ -b. Giả sử nếu bạn đang ở chi nhánh tổng thể sau đó
git checkout -b <new_feature_branch_name>
sẽ tạo ra một chi nhánh mới với các nội dung của tổng thể và chuyển sang chi nhánh mới được tạo ra
Bạn có thể tìm thêm nhiều lựa chọn tại official site
Tốt. Tùy chọn '-b' này là tuyệt vời, nó tạo ra một nhánh địa phương mới và kiểm tra nó cùng một lúc trong một lệnh duy nhất. Đã yêu nó! – RBT
- 1. Sự khác nhau giữa "git checkout -f" và "git reset --hard HEAD" là gì?
- 2. là gì sự khác biệt giữa --mirror git clone git clone và --bare
- 3. Sự khác nhau giữa "git checkout <filename>" và "git checkout - - <filename>"
- 4. Sự khác biệt giữa tệp git reset và git checkout file là gì?
- 5. Sự khác biệt giữa git remote add và git clone
- 6. Sự khác nhau giữa TFS, SVN và GIT là gì?
- 7. Sự khác nhau giữa git reflog và log là gì?
- 8. git clone vs copy paste, sự khác biệt là gì?
- 9. Sự khác nhau giữa GIT và CVS
- 10. Sự khác nhau giữa 'git format-patch và' git diff 'là gì?
- 11. Có sự khác biệt giữa "git reset --hard hash" và "git checkout hash" không?
- 12. Sự khác nhau giữa Mat :: clone and Mat :: copyTo là gì?
- 13. Sự khác nhau giữa WPF và WinForms là gì?
- 14. Sự khác nhau giữa JavaScript và Java là gì?
- 15. Sự khác nhau giữa ODBC và OleDB là gì?
- 16. Sự khác nhau giữa SGML và XML là gì?
- 17. Sự khác nhau giữa DefaultSelenium và RemoteWebDriver là gì?
- 18. Sự khác nhau giữa RMI và Corba là gì?
- 19. Sự khác nhau giữa scgi và wsgi là gì?
- 20. Sự khác nhau giữa wsHttpBinding và ws2007HttpBinding là gì?
- 21. Sự khác nhau giữa Pingback và Trackback là gì?
- 22. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 23. Sự khác nhau giữa AxInterop và Interop là gì?
- 24. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 25. Sự khác nhau giữa .bashrc, .bash_profile và .environment là gì?
- 26. Sự khác nhau giữa JSP và Facelets là gì?
- 27. Sự khác nhau giữa hg quên và hg là gì?
- 28. Sự khác nhau giữa GDI và GDI + là gì?
- 29. Sự khác nhau giữa đá quý và plugin là gì?
- 30. Sự khác nhau giữa metaClass.methods và metaClass.metaMethods là gì?
liên quan: http: // stackoverflow. com/questions/3329943/different-between-a-branch-fork-and-clone-in-git – Mat