2013-11-03 96 views
0

我有一個項目,我想把它放到2個倉庫中:公共和私人。該項目有一些私人文件,我不希望任何人看到這就是爲什麼我必須創建一個私人存儲庫,並將其中的文件。同樣,我希望項目能夠在我的投資組合中,所以僱主會更輕鬆地評估我的技能,並且我也會創建一個公開的個人資料。一個項目,不同的倉庫

所以我必須用.gitignore,不是嗎?但它足夠安全嗎?我認爲如果我將項目提交到私有存儲庫,然後將一些文件添加到.gitignore並將其提交給公共目錄,那麼可以從歷史記錄中檢索那些來自gitignore的文件,對嗎?所以即使在公共倉庫中,每個人都可以看到他們不是我想要的東西。無論如何,我必須在我犯下這些文件之前不斷地從這些文件中添加或刪除這些文件,這很容易。

我該怎麼做?

回答

1

爲什麼你要git庫公開?這聽起來像你想暴露存儲庫的內容(實際的代碼),而不是存儲庫結構(歷史)。

如果您絕對想要公開您的存儲庫,那麼您可以爲您的私人內容使用單獨的分支,然後在公共分支上重新綁定。絕不能將私人分支推送到任何公共存儲庫。這可能是一個負擔管理。

2

gitignore使文件完全脫離版本控制,這對於源代碼來說通常是不合需要的。

也許:

  • 分裂公共私人代碼到自己的倉庫
  • 重構公共碼成一個連貫的私營代碼消耗
  • establis小時公共回購的私人回購的subtree像這樣:

git subtree add -P public_directory git://github.com/user/public-repo.git master

2

我們也有類似的問題,我處理這個問題的方法是有完全不同的版本庫,並使用超越比較週期性同步更改。就你而言,我假設'私人'回購將會是你的主要發展發生的地方,而'公開'實際上只是一個只讀回購,所以你可以在'私人'中完成所有的工作,然後複製根據需要使用差異工具更改爲「公開」。

相關問題