我正在尋找一種實用的方法來處理私人和公共存儲庫中的私人存儲庫的內容可能與公共分支。該文件夾必須存在於兩個分支中,並且其內容在兩個存儲庫中都被跟蹤,但絕不能合併。git工作流:公共和私人存儲庫的文件夾內容分歧,但不會合並
這是庫的簡化設置:
/folderA <-- public content
/folderB <-- mixed public & private content
/folderB/private.files <-- this file is different in public & private repos
/folderB/newPrivateFolder <-- private repo may add more private-only folders here
這些都是我看似簡單的要求,但我還沒有找到一個好工作的解決方案:
private.files
必須存在於公開回購項目的默認內容工作- 更改爲
private.files
在公開回購不應與私人回購 private.files
變化必須私人回購,因爲它是由團隊成員- 變化需要
private.files
在私人回購絕不能公開回購 - 合併跟蹤合併額外的文件/文件夾添加到
folderB
在私人回購絕不能添加到公共回購 - 私人回購承諾應該孤立,私人回購的歷史不應該與公共回購合併
私人回購是公共回購的副本。
我曾嘗試:
- 包括公共回購爲子模塊或子樹
- 不能「越權」的私人文件夾的內容,因爲變化,包括它的時候直接去公共回購子模塊或子樹
- 加上:有點沒有意義將整個項目作爲子樹包含,因爲我想要兩個相同存儲庫的不同版本
- 稀疏結賬
- 合併還是合併所有文件/文件夾,即使是那些沒有在當地的分公司簽出
- 屬性合併篩選
- 僅合併時應用內容,但仍然允許添加/刪除文件
我還沒有試過尚未:
- 兩個完全斷開連接庫(不重複),並以某種方式將其合併,同時確保FolderB中內容是「乾淨的」
- 本地合併回購所有私人回購在與公共回購分支合併之前,特定文件夾中的分支更改被撤消(如何?)(實際上,我已經嘗試過這種方式,它似乎適用於稀疏檢出 - 但是一旦將所有私人更改推送到公共回購站)
還有什麼我可以嘗試?
也許這個問題已經有了解決方案 - 但我一直在看網上幾十篇文章和數十篇文章,但似乎沒有解決這個分歧的文件夾內容問題。
這給了我一個想法:folderB進入它自己的存儲庫,作爲子庫包含在主存儲庫中。然後,我將主repo和folderB repo都複製到私有回購站,並希望我可以設置私人回購以使用私人folderB副本作爲其子樹。 – LearnCocos2D