git - `git remote add --mirror=fetch` 会与 `git clone --mirror` 生成相同的仓库吗?
问题描述
如果我想复制一个 repo,我使用它。
git clone --mirror $SRC $DST
但是这个命令不需要 repo 存在于$DST
. 通常没问题,但如果我想从多个进程同时发出 Git 命令,可能会导致一些竞争条件,因为在执行命令之前不存在可锁定的文件对象。
如果我只想跳过存在测试$DST
,我想我可以
mkdir -p $DST
cd $DST
git init --bare
git remote add origin --mirror-=fetch $SRC 2>/dev/null || true
git remote update
这会与完全相同的回购git clone --mirror $SRC $DST
吗?
解决方案
如果您查看为 a 完成的测试git clone --mirror
,您会看到一个镜像克隆是一个:
- 一个
fetch
refspec 设置为+refs/*:refs/*
- 设置
git config --bool remote.origin.mirror
为真
如果在您的 git 远程命令之后满足这些条件,那么是的,这将等同于镜像克隆。
推荐阅读
- node.js - Node-Postgres SequelizeConnectionError:用户的密码验证失败
- c++ - 如何获取当前用户的默认RAS电话簿路径?
- mongodb - Mongo 平衡器如何处理散列分片键
- python - 如何从打印中导出txt文件
- css - Calc() 像素高度动态地基于 CSS 的动态宽度和比例
- zipline - Zipline 是否支持 Renko Chart?
- asp.net-identity - 登录成功返回但用户不是
- c++ - 无法在具有恒定可变大小的类中创建堆栈分配数组
- pandas - 根据pandas中两列的组合比较两个数据框
- c# - AnimationNavigationPage 只是从左向右滑动而不是从右向左滑动