git remote add和git clone之间的区别

时间:2011-01-31 20:10:46

标签: git git-clone git-remote

clone命令有什么作用?在svn中有没有相应的东西?

之间有什么区别
git remote add test git://github.com/user/test.git

并且

git clone git://github.com/user/test.git

创建的回购邮件的名称是否重要?

4 个答案:

答案 0 :(得分:57)

git remote add只需在git配置中创建一个条目,指定特定URL的名称。你必须有一个现有的git repo才能使用它。

git clone通过复制位于您指定的URI的现有存储库来创建新的git存储库。

答案 1 :(得分:46)

这些功能相似(试试吧!):

 # git clone REMOTEURL foo

 # mkdir foo
 # cd foo
 # git init
 # git remote add origin REMOTEURL
 # git pull origin master

现在存在细微差别,但从根本上你可能不会注意到它们。作为练习留给读者,比较每个目录的.git / config。

答案 2 :(得分:8)

clone命令创建您指定的repo的本地副本。 remote add添加了一个可以推送或拉出的远程仓库。

clone的svn等效值为checkout

答案 3 :(得分:2)

git clone

将文件实际下载到您的计算机中。它将占用您计算机的空间。如果存储库为200Mb,则会下载所有存储库并将其放置在您克隆的目录中。

git remote add

不会占用空间!更像是指针!它不会增加磁盘消耗。我相信它只是获得了可用的分支及其git提交历史的快照。它不包含项目的实际文件/文件夹。

如果您这样做:

git remote add TechLeadRepo  git://github.com/user/test.git

那么您还没有向计算机添加任何内容。在将其添加到远程分支中之后,您可以通过执行以下操作获取该远程上所有分支的列表:

git fetch --all

然后,如果您想将同事的feature22分支分支到本地,则只需这样做

git checkout -b myLocalFeature22 TechLeadRepo/feature22

我相信在您结帐后,它会提取最新的更改并从您的计算机中占用空间。显然,它只会占用您没有的所有新提交。

如果您克隆了他的仓库,那么您将不得不进入该本地存储库的目录并签出到所需的分支机构