git remote add和git clone之间的区别

clone命令有什么作用? svn中有与之等效的东西吗?

之间有什么区别

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

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

创建的存储库的名称重要吗?

nacho4d asked 2019-10-14T20:13:41Z
4个解决方案
57 votes

git clone只是在您的git配置中创建一个条目,为特定的URL指定名称。 您必须已有一个git repo才能使用它。

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

Jason LeBrun answered 2019-10-14T20:13:58Z
45 votes

这些在功能上相似(尝试!):

 # git clone REMOTEURL foo

和:

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

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

Wes Hardaker answered 2019-10-14T20:14:30Z
8 votes

clone命令创建您指定的存储库的本地副本。 checkout添加了一个远程回购,您可以将其推入或拉出。

svn的clone等效值为checkout

Rafe Kettler answered 2019-10-14T20:15:01Z
2 votes

git remote add

会将文件实际下载到您的计算机中。 它将占用您计算机的空间。 如果存储库为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

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

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

Honey answered 2019-10-14T20:16:09Z
translate from https://stackoverflow.com:/questions/4855561/difference-between-git-remote-add-and-git-clone