git克隆(镜像和拉取)之间的区别是什么

git克隆(镜像和拉取)之间的区别是什么,git,git-clone,git-pull,Git,Git Clone,Git Pull,我的理解是,克隆和拉是没有区别的。或者换句话说,git克隆--bare和git pull也做同样的事情。但是既然git clone--mirror更新了本地引用,那么它会与pull不同吗 编辑:我错误地假设git clone的默认值是--bare。但是--bare将在没有工作目录的情况下安装。git clone创建一个新的存储库。您以前没有存储库,现在有了存储库 git pull在现有存储库中执行操作 这看起来真的是一个很大的区别 除此之外,git pull所做的是: 运行git fetch

我的理解是,克隆和拉是没有区别的。或者换句话说,
git克隆--bare
git pull
也做同样的事情。但是既然git clone--mirror更新了本地引用,那么它会与pull不同吗



编辑:我错误地假设git clone的默认值是--bare。但是--bare将在没有工作目录的情况下安装。

git clone创建一个新的存储库。您以前没有存储库,现在有了存储库

git pull
在现有存储库中执行操作

这看起来真的是一个很大的区别

除此之外,
git pull
所做的是:

  • 运行git fetch,然后
  • 运行第二个Git命令
由于
--mirror
克隆是
--bare
克隆,因此没有工作树,
git pull
将运行的第二个命令将失败,无论您选择合并还是重新基础

git fetch
所做的是。对于镜像克隆,默认的refspec是
+refs/*:refs/*
,因此所有引用都将替换为从其他Git获得的引用