2017-03-31 155 views
0

是否可以使用相同的git裸存储库来保存不同存储库的数据?换言之,可以I:用于许多克隆的一个git裸存储库

创建一个git纯仓库(称为BARE REPO)

与主分支数据克隆它从REMOTE REPO甲

  • GIT中克隆-b巩固--single-分支[email protected]:ConsolidateService.git
  • exec git add。
  • 触摸README.md
  • EXEC git的承诺-m “添加自述”
  • EXEC git的远程添加巩固 SSH://[email protected]/var/repos/app.makeatoy.git
  • EXEC GIT中推巩固主

擦除BARE REPO的内容

从REMOTE REPO B中间分支数据重新克隆它

  • git clone -b test --single-branch [email protected]:TestService.git
  • exec git add。
  • 触摸README.md
  • EXEC git的承诺-m “添加自述”
  • EXEC git的远程添加测试 SSH://[email protected]/var/repos/app.makeatoy.git
  • EXEC GIT中推测试主

擦除BARE REPO

重新克隆它的内容与从REMOTE REPO C中间分支数据

  • git clone -b prod --single-branch [email protected]:ProdService.git
  • exec git add。
  • 触摸README.md
  • EXEC git的承诺-m “添加自述”
  • EXEC git的远程添加生产 SSH://[email protected]/var/repos/app.makeatoy.git
  • exec git push production master

如果可能,如何删除裸仓库的内容?

TIA

+0

在裸仓库中,想通过1)获取仓库的名称和2)获取使用的分支的名称来使用post-receive钩子。然后,这个想法就是生成一个部署web代码的地方。例如:对于存储库app1/branch:test,代码将被部署到目录app1-test。对于版本库app1/branch prod,代码将被部署到目录app1-prod等。 –

回答

1

创建裸回购,只是从不同的项目添加遥控器。为了混帐,这只是无关的分支。从每个数据库中取出后都不需要删除任何东西(裸露回购库上没有工作树,因此无需删除)。

+0

感谢您的回应:-)因此,当您将数据推送到裸存储库时,它会发生什么?是否像操作完成后将某些内容推送到/ dev/null? –

+1

它进入回购。但在裸回购里面没有什么可以删除的。这就像一个数据库。没有“最终用户文件”供您添加/修改/提交/删除等。 – eftshift0

+0

刚才我们很清楚:当然......裸露回购库中有信息。但是,如果你推入某些东西,然后删除它里面的所有东西(所有git使用的文件来保存回购元数据,如对象和引用,配置文件等),那么你最终会得到......好吧,没有。你可以初始化 - 如果你想要再次使用。它只会是一个空目录。 – eftshift0