美文网首页Git
把icloud打造成git仓库

把icloud打造成git仓库

作者: JokinKuang | 来源:发表于2017-08-14 15:35 被阅读0次

icloud并不能直接作为远程git仓库使用,因为icloud上的文件并不可以直接访问,但可以作为本地git仓库使用。

大致思路是这样:
本地目录 《- git -》 本地git仓库(icloud目录) 《- icloud -》 icloud备份服务器

Step1

$ cd ~
$ ln -s Library/Mobile\ Documents/com~apple~CloudDocs/ icloud
$ cd icloud

创建icloud目录本地的快捷访问路径(软链接)

Step2

$ cd ~/icloud
$ mkdir repos && cd $_
$ git init --bare demo.git

在icloud中创建一个共享的git仓库(--bare相当于svn中的远程仓库概念)
以上,访问~/icloud/repos/demo.git就相当于访问了远程git仓库。

Step3

$ cd ~
$ mkdir localDemo
$ cd localDemo
$ echo ".DS_Store" > .gitignore
$ echo "Demo" > README

$ git init
$ git add .
$ git commit -m "initial commit"
$ git remote add origin ~/icloud/repos/demo.git
$ git push -u origin master

在任意目录下,初始化本地的git项目,配置远程git仓库,然后把本地的所有分支push到远程仓库。

Step4

$ cd ~
$ git clone ~/icloud/repos/demo.git

从远程仓库中拉取项目。

总结

类似本地svn仓库服务器一样,其实是搭建了本地的git仓库服务器。
由于是本地访问,所以通过本地路径/project.git来访问。
因为本地仓库是建立在icloud自动备份的目录下,所以icloud会自动备份这个git仓库服务器。

如果本地机器有对外的IP,那么这个过程相当于建立了远程的git服务器,并对服务器上的git仓库进行了icloud的备份。

关于git init --bare作用

个人理解:
--bare就是建立一个git仓库服务器。既然是git仓库服务器,就没必要存储实际的workspace,只需要存储能生成workspace的文件即可。而对于git而言,.git目录才是仓库的核心。所以,--bare相当于只存储.git目录。

查看服务器中的XXXX.git目录和本地的.git目录,就能发现两者结构几乎一致。(正规的说法并不是这样)

参考

http://winterbe.com/posts/2014/11/27/setup-icloud-git-repository/

相关文章

  • 把icloud打造成git仓库

    icloud并不能直接作为远程git仓库使用,因为icloud上的文件并不可以直接访问,但可以作为本地git仓库使...

  • GIT命令行克隆TFS代码

    git clone http://邮箱(或用户名):密码@仓库 示例:邮箱或者用户名 abc@icloud.com...

  • Git学习笔记

    [TOC] 初始仓库(git init) 把文件添加到仓库(git add) 把文件提交到仓库(git commi...

  • Git学习笔记

    基础命令 git init 把目录变成Git可以管理的仓库。 git add 把文件添加到仓库。 git comm...

  • Git Note

    创建Git项目 创建仓库目录mkdir dir 初始化仓库git init Git文件管理 把文件加入仓库git ...

  • Git基本命令集合

    $ git init把这个目录变成Git可以管理的仓库$ git add readme.txt把文件添加到仓库$ ...

  • git管理

    进入git仓库cd ~/.ssh 把文件添加到本地库git add . 把文件修改提交到仓库git commit ...

  • Git基本操作命令

    git init --把一个目录变成Git仓库 git add 添加文件到Git仓库(缓存区),...

  • git常用命令

    git init 把当前目录变成git可以管理的仓库 git clone <地址> 克隆远程仓库 git br...

  • (四)常用命令

    一、仓库相关 git clone url将远程仓库下载到本地 git init把当前目录初始化为git本地仓库。 ...

网友评论

    本文标题:把icloud打造成git仓库

    本文链接:https://www.haomeiwen.com/subject/lgpurxtx.html