git clone和checkout有什么区别?

Pra*_*ati 321 git command

git clone和之间有什么区别git checkout

Aug*_*aas 320

结帐手册:http://git-scm.com/docs/git-checkout

克隆的手册页:http://git-scm.com/docs/git-clone

总而言之,clone用于获取您没有的存储库,checkout用于在您已有的存储库中的分支之间进行切换.

注意:对于那些具有SVN/CVS背景且不熟悉Git的人,相当于git cloneSVN/CVS checkout.不同术语的相同措辞通常令人困惑.

  • `checkout`也可以用于其他事情,比如使用另一个版本的该文件版本覆盖工作副本中的文件. (41认同)
  • pull是一个fetch plus merge,checkout是一个本地操作,只对已经获取的数据进行操作.所以它根本不像svn checkout. (26认同)
  • 来自SVN世界,我也很困惑.哇..真是一团糟.在理想的世界中,我会强制每个源控制系统制造商使用相同的术语. (12认同)
  • 什么时候使用"拉"与"结账"? (8认同)
  • Fork是一个github术语,与git本身无关. (4认同)
  • 引用一些人的评论:git使困难的事情成为可能,让其他事情变得困难 (2认同)

Kit*_* Ho 122

git clone是从远程git服务器获取您的存储库.

git checkout是检查您所需的存储库状态(如分支或特定文件).

例如,您当前在主分支上,并且您想要切换到开发分支.

git checkout develop_branch
Run Code Online (Sandbox Code Playgroud)

例如,您想要签出特定文件的特定状态

git checkout commit_point_A -- <filename>
Run Code Online (Sandbox Code Playgroud)

这里有一个很好的参考,你可以学习Git,让你更容易理解.

  • "来自远程git服务器" - 服务器没有必要是远程的.`git clone`也适用于本地回购. (19认同)

Phi*_*ley 11

有一点需要注意的是git中缺少任何"Copyout".那是因为您已在本地仓库中拥有完整副本 - 您的本地仓库是clone您选择的上游仓库.所以,你必须有效个人checkout一切,而不对这些文件的一些"锁"在基准回购.

Git提供SHA1哈希值作为验证您拥有文件/目录树/提交/ repo的副本与能够在信任层次结构中将事物声明为"主"的人所使用的完全相同的机制.这避免了导致大多数SCM系统窒息的所有"锁定"(通常存在私有副本,大合并以及没有实际控制或源代码管理的问题;-)!

  • 这个问题没有提到锁定,现在默认情况下应该假设一个人不熟悉这个概念,因此只有明确询问这些与旧VCS的差异才能解释. (4认同)

Kha*_*M A 5

简单地git checkout有2个用途

  1. 在现有的本地分支机构之间切换,例如 git checkout <existing_local_branch_name>
  2. 使用标志-b从当前分支创建一个新分支。假设您在master分支中,则将git checkout -b <new_feature_branch_name>使用master的内容创建一个新分支,并切换到新创建的分支

您可以在官方网站上找到更多选项