大致思路是這樣:
本地目錄 《- git -》 本地git倉庫(icloud目錄) 《- icloud -》 icloud備份服務器
創建icloud目錄本地的快捷訪問路徑(軟鏈接)
在icloud中創建壹個***享的git倉庫(--bare相當於svn中的遠程倉庫概念)
以上,訪問 ~/icloud/repos/demo.git 就相當於訪問了遠程git倉庫。
在任意目錄下,初始化本地的git項目,配置遠程git倉庫,然後把本地的所有分支push到遠程倉庫。
從遠程倉庫中拉取項目。
類似本地svn倉庫服務器壹樣,其實是搭建了本地的git倉庫服務器。
由於是本地訪問,所以通過 本地路徑/project.git 來訪問。
因為本地倉庫是建立在icloud自動備份的目錄下,所以icloud會自動備份這個git倉庫服務器。
如果本地機器有對外的IP,那麽這個過程相當於建立了遠程的git服務器,並對服務器上的git倉庫進行了icloud的備份。
個人理解:
--bare就是建立壹個git倉庫服務器。既然是git倉庫服務器,就沒必要存儲實際的workspace,只需要存儲能生成workspace的文件即可。而對於git而言, .git 目錄才是倉庫的核心。所以,--bare相當於只存儲 .git 目錄。
查看服務器中的 XXXX.git 目錄和本地的 .git 目錄,就能發現兩者結構幾乎壹致。(正規的說法並不是這樣)
/posts/2014/11/27/setup-icloud-git-repository/