### Github免費賬戶使用”私有庫“
原創 2013年09月02日
根據Github的免費策略,用戶提交的內容是必須公開,這有利于促進開源社區發展的。
但總有些時候,我們想利用Github來存儲一點私人的東西,可是作為免費用戶不能建立私有的庫,這時可以利用一下這個項目:https://github.com/Anchor89/GithubHub
項目里面其實只有一個文件,就是一個`Bash`腳本,所以目前只支持 `linux` 或者是 `cygwin`。`windows` 用戶可以考慮安裝`cygwin`,它的原理是這樣,既然我可以在`Github`上存放任何內容,那么我自然也可以存放另外一個`Git repository`了,只要對`repos`進行加密就好了!這就是`GithubHub`的原理。
使用的方法是這樣的:
1. 首先在你的Github上建立一個名字為`root`的項目。確保本機上安裝了`openssl`和`tar`
2. 在你本機上建立一個文件夾,假設叫`some_dir`吧,把`GithubHub`里面的那個`github.sh` 給復制進來。
3. 然后在`some_dir`里`git clone`你在`Github`上的`root`項目,這樣就會在`some_dir`中出現一個`root`文件夾。
4. 打開終端,運行‘`github.sh init`’。這個命令會在當前文件夾中創建加密用的密鑰和一個名字為`leaf`的文件夾。
5. 進入`leaf`文件夾,用'`git init --bare`'新建一個本地的裸git庫,假設名字叫`secret`。
6. 隨便換到其他一個目錄下,`git clone path/some_dir/leaf/secret`,就建立了裸庫的工作目錄了,然后在這個目錄下像平常一樣做一些修改,提交,推送。這時的推送(push)是將更改的內容`push`到本地`leaf/secret`的裸git庫中,如果要更新到`github`上,還需要下面一步。
7. 調用`github.sh push secret`,其中`secret`是你想`push`到`github`上的庫的名字,這個命令會把leaf文件夾下的secret文件夾打包壓縮,然后放到`root`文件夾下。然后在`root`下執行`git add secret && git commit .. & git push`。至此,你的內容就被加密存放到`Github`上`root`庫下了。
8. 當你想從`Github`上獲取加密的文件時,請用`github.sh pull secret`。這個命令會將`root`的內容`pull`到本地,然后把`root`下的`secret`解密解壓到`leaf`文件夾下成為`secret`文件夾,之后從本機的其他文件夾里繼續`pull`就可以了。
關于密鑰文件:
加密和解密的文件時對應且不可重復生成的,所以這兩個密鑰文件可要好好保存,一旦丟失話,就不能對已經存上去的內容解密了。如果想更換密鑰話,請先保證leaf下都是最新的已解密git庫,然后替換密鑰文件,執行相應的github.sh命令就可以了。
- 目錄
- 撤銷
- Git reset
- Git revert
- Git reset 命令
- Git的撤消操作 - 重置, 簽出和撤消
- 沖突
- 解決Git合并分支發生的沖突
- BASH
- 復制黏貼
- 教程
- 合并
- 合并提交
- 分支
- Gitee(碼云)
- Github
- 免費私有庫
- 本地倉庫推送到github倉庫
- 工具
- SourceTree
- 添加git-bash.exe到環境變量
- Git
- 安裝
- 配置
- 命令行
- 10個技巧讓開發者的Git水平迅速提升
- 3.2 Git 分支 - 分支的新建與合并
- 遠程分支
- Git幫助
- Git幫助
- 顯示命令幫助
- Git 命令
- 參數配置
- 還原至上次提交
- Git 操作命令
- Git tag
- Git 分支管理
- 認識分支
- 賣主分支
- 分支操作
- 本地倉庫遠程提交
- Git 分區
- 認識里程碑
- 忽略文件
- 已有項目
- 《Git權威指南》