git clone和checkout有什么区别?
git clone
和git checkout
什么区别?
结帐手册页面: http : //git-scm.com/docs/git-checkout
克隆的手册页: http : //git-scm.com/docs/git-clone
总结一下,clone是用来获取你没有的仓库,checkout是用来在仓库中的分支之间切换的。
注意:对于那些有SVN / CVS背景和Git新手的人,SVN / CVS中相当于git clone
是checkout
。 不同术语的相同措词经常令人困惑。
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个用途
- 在现有的本地分支之间切换,比如
git checkout <existing_local_branch_name>
- 使用标志-b从当前分支创build一个新的分支。 假设如果你在master分支,那么
git checkout -b <new_feature_branch_name>
将会创build一个新的分支,其中包含master的内容并切换到新创build的分支
你可以在官方网站上find更多的select