2012-02-23 86 views
3

我想維護一個項目的兩個分支:一個用於公司內部使用,另一個用於開源。我想在源代碼樹中具有所有特定於部署的元素(如部署配方和數據庫配置以及特定於版本的引導程序文件等)。防止從分支推到特定的遠程

我設想的方式是我有兩個分支,例如masterinternal。在這種情況下,我想避免的一件事是將internal分支推向Github,因爲它會包含敏感信息。然後,我會選擇從internal分支變成主人。

那麼如何配置遠程分支被推送到它的默認遠程?我必須設置該分支來跟蹤比Github更遠的另一個分支?

或者是否有更好的工作流程來開發這種情況下的鎖步中的兩個叉?

回答

2

一旦有人克隆了您的回購,他(或她當然)可以完全訪問存儲在回購中的所有分行。 你不能阻止他(或她當然)推動完整的回購或甚至在互聯網上公佈來源。

如果你想保持隱祕的事保密,從internal像你打算如何建立2個回購,一個爲master和一個爲internal,然後cherry-pick所需提交給master

要實現此目的,請將internal回購作爲master回購的遠程回購。雖然是在master

git remote add internal /path/to/internal 

如果你想利用提交從internalmaster,只需fetchinternal的最新版本爲master

git fetch internal 

然後檢查提交採取和cherry-pick他們使用

git cherry-pick <SHA1>