git clone --mirror 和 pull 有什么区别
What is the difference between git clone --mirror and pull
我的理解是clone和pull真的没有区别。或者换句话说 git clone -- bare
和 git pull
做同样的事情。但是,由于 git clone --mirror
更新了本地引用,它会与 pull 不同吗?
编辑:我错误地假设 git 克隆默认值是 --bare。但是 --bare 将在没有工作目录的情况下设置。
git clone
创建一个新的存储库。以前没有仓库,现在有了。
git pull
在现有存储库中执行操作。
这似乎是一个很大的不同!
除此之外,git pull
所做的是:
- 运行
git fetch
,然后
- 运行 第二个 Git 命令。
由于 --mirror
克隆是 --bare
克隆,因此没有工作树,git pull
运行 的第二个命令将失败,无论是否你选择合并或变基。
git fetch
所做的是documented。对于镜像克隆,默认的 refspec 是 +refs/*:refs/*
,因此所有引用都将替换为从其他 Git.
获得的引用
我的理解是clone和pull真的没有区别。或者换句话说 git clone -- bare
和 git pull
做同样的事情。但是,由于 git clone --mirror
更新了本地引用,它会与 pull 不同吗?
编辑:我错误地假设 git 克隆默认值是 --bare。但是 --bare 将在没有工作目录的情况下设置。
git clone
创建一个新的存储库。以前没有仓库,现在有了。
git pull
在现有存储库中执行操作。
这似乎是一个很大的不同!
除此之外,git pull
所做的是:
- 运行
git fetch
,然后 - 运行 第二个 Git 命令。
由于 --mirror
克隆是 --bare
克隆,因此没有工作树,git pull
运行 的第二个命令将失败,无论是否你选择合并或变基。
git fetch
所做的是documented。对于镜像克隆,默认的 refspec 是 +refs/*:refs/*
,因此所有引用都将替换为从其他 Git.