Github免费“私有库”的创建

http://blog.csdn.net/anchor89/article/details/10913649       


       根据Github的免费策略,用户提交的内容是必须要要公开的,天下没有免费的午餐嘛,如果想免费用就要贡献一点东西出来,这个还是很合理很有利于促进开源社区发展的。

       但是,总有一些时候,我们想利用Github来存储一点私人的东西,可是作为免费用户又不能建立private库,这时可以利用一下这个项目GithubHub:https://github.com/Anchor89/GithubHub

       这个项目其实里面只有一个文件,就是一个Bash脚本,所以目前只支持linux或者是cygwin。windows用户可以考虑安装cygwin,如果有哪位有心情写个bat话,欢迎pull给我~

       GithubHub的原理是这样,既然我可以在Github上存放任何内容,那么我自然也可以存放另外一个Git repository了,然后我还不想让别人看到这些repo。。。怎么办呢。。。啊哈!只要对repos进行加密就好了!这就是GithubHub的原理了,很简单吧。

       使用的方法是这样的:

0.首先在你的Github上建立一个名字为root的项目。确保本机上安装了openssl和tar

1.在你本机上建立一个文件夹,假设叫some_dir吧,把GithubHub里面的那个github.sh 给复制进来。

2.然后在some_dir里git clone你在Github上的root项目,这样就会在some_dir中出现一个root文件夹。

3.打开终端,运行‘github.sh init’。这个命令会在当前文件夹中创建加密用的密钥和一个名字为leaf的文件夹。

4.进入leaf文件夹,用'git init --bare'新建一个本地的裸git库,假设名字叫secret。

5.随便换到其他一个目录下,git clone path/some_dir/leaf/secret,就建立了裸库的工作目录了,然后在这个目录下像平常一样做一些修改,提交,推送。这时的推送(push)是将更改的内容push到本地leaf/secret的裸git库中,如果要更新到github上,还需要下面一步。

6.调用github.sh push secret,其中secret是你想push到github上的库的名字,这个命令会把leaf文件件下的secret文件夹打包压缩,然后放到root文件夹下。然后在root下执行git add secret && git commit .. & git push。至此,你的内容就被加密存放到Github上root库下了。

7.当你想从Github上获取加密的文件时,请用github.sh pull secret。这个命令会将root的内容pull到本地,然后把root下的secret解密解压到leaf文件夹下成为secret文件夹,之后从本机的其他文件夹里继续pull就可以了。


关于密钥文件:

       加密和解密的文件时对应且不可重复生成的,所以这两个密钥文件可要好好保存,一旦丢失话,就不能对已经存上去的内容解密了。。。

当然,你如果想更换密钥话,请先保证leaf下都是最新的已解密git库,然后替换密钥文件,执行相应的github.sh命令就可以了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值