很多時候,你的一些專案本身都是開源的,但是基於該開源專案,你可能做了部分更有價值的工作,或者由於其他原因,你不希望將這部分程式碼放到public上,那麼有以下簡單方法:
1. 建立一個private branch;
2. 建立一個private repo(github需要付費);
3. 增加你的另外一個remote,將private local branch 指向private remote的private remote branch;
4. push那個private remote,這樣你的private branch的程式碼就放到了private repo中
實際上這個工作流程很像本地的feature branch,這個feature branch本身是不會push到central repo的,直到直接feature完成,最後merge到master上才會做push分享。但是本文所介紹的工作流實際上是將feature branch push到一個private remote上去,在該private remote上仍然可以支援team work,工作完畢後,你需要做的是在master branch上merge那個feature branch的內容(實際上是一個remote tracking branch),隨後再push到public上,就算是向公眾釋出了(這時private repo就可以刪除了)。
注意:所謂Push到一個remote repo中,這時remote repo就包含了所有的歷史,但是卻只有一個branch作為Local repo的remote branch