2017-03-31 151 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