Github免費賬戶使用”私有庫“


      根據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命令就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM