【发布时间】:2017-08-26 06:02:38
【问题描述】:
是否可以使用同一个 git 裸存储库来保存不同存储库的数据?换句话说,我可以:
创建一个 git 裸仓库(称为 BARE REPO)
使用来自远程仓库 A 的主分支数据克隆它
- git clone -b consolidate --single-branch git@444.444.44.44:ConsolidateService.git
- 执行 git add .
- 触摸 README.md
- exec git commit -m "add README"
- exec git remote add consolidate ssh://root@333.333.33.33/var/repos/app.makeatoy.git
- exec git push consolidate master
擦除 BARE REPO 的内容
使用来自远程仓库 B 的主分支数据重新克隆它
- git clone -b test --single-branch git@444.444.44.44:TestService.git
- 执行 git add .
- 触摸 README.md
- exec git commit -m "add README"
- exec git 远程添加测试 ssh://root@333.333.33.33/var/repos/app.makeatoy.git
- exec git push 测试大师
清除 BARE REPO 的内容
使用来自远程仓库 C 的主分支数据重新克隆它
- git clone -b prod --single-branch git@444.444.44.44:ProdService.git
- 执行 git add .
- 触摸 README.md
- exec git commit -m "add README"
- 执行 git 远程添加生产 ssh://root@333.333.33.33/var/repos/app.makeatoy.git
- exec git push 生产大师
如果可能,如何删除裸存储库的内容?
TIA
【问题讨论】:
-
在裸存储库中,想通过 1) 获取存储库的名称和 2) 获取使用的分支的名称来使用 post-receive 挂钩。然后,想法是生成一个地方来部署 Web 代码。例如:对于存储库 app1 / branch : test,代码将部署到目录 app1-test。对于存储库 app1 / 分支 prod,代码将部署到目录 app1-prod 等。