git clone和checkout有什么区别?

git clonegit checkout什么区别?

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

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

总结一下,clone是用来获取你没有的仓库,checkout是用来在仓库中的分支之间切换的。

注意:对于那些有SVN / CVS背景和Git新手的人,SVN / CVS中相当于git clonecheckout 。 不同术语的相同措词经常令人困惑。

git clone是从远程git服务器获取你的仓库。

git checkout是检查你的仓库所需的状态(如分支机构或特定的文件)。

例如,你现在在主分支,你想切换到开发分支。

 git checkout develop_branch 

例如,你想签出一个特定的文件的特定状态

 git checkout commit_point_A -- <filename> 

这是学习Git的好参考 ,让你更容易理解。

有一点需要注意的是在git中缺less任何“拷贝”。 那是因为你已经有了一个完整的副本在你的本地回购 – 你的本地回购是你select的上游回购的clone 。 因此,您可以有效地对所有内容进行个人checkout ,而无需在参考库中对这些文件进行“locking”。

Git提供SHA1哈希值作为validation您拥有的文件/目录树/提交/回购副本的机制,与谁能够在信任层次结构中声明为“主”的情况完全相同。 这样可以避免导致大多数SCM系统窒息的所有“锁”(通常是私有副本,大合并以及无法真正控制或pipe理源代码的问题;-)!

简单的git checkout有2个用途

  1. 在现有的本地分支之间切换,比如git checkout <existing_local_branch_name>
  2. 使用标志-b从当前分支创build一个新的分支。 假设如果你在master分支,那么git checkout -b <new_feature_branch_name>将会创build一个新的分支,其中包含master的内容并切换到新创build的分支

你可以在官方网站上find更多的select