我最近開始開發一個新的圖書館,並使用Git的修訂控制。我決定遵循非常受歡迎的博客文章A successful Git branching model來管理分支。現在是時候讓我做出我的第一個版本,並且我希望在管理下面描述的特定文件集時提供一些建議。git的承諾不同的文件集的開發和掌握
在開發分支和功能分支,我希望所有的「配套文件」,如用於編譯的makefile文件和使用的doxygen生成文檔的readme.md文件。 (注意這些只是一些例子,我有更多的「支持文件」。)
該博客文章還表示,主分支的提交是按照定義發佈的版本。我希望發佈包含所有「二進制文件」(其中包括例如編譯產生的目標文件和包含文檔的html文件)。這些文件應該被提交給主分支,以便客戶可以使用標籤從存儲庫中進行克隆並獲得所需的版本。
我不想讓在發佈的「支持文件」(因爲我不希望給文件的客戶堆,他們不想或不能使用)。同樣,我不希望在開發和功能分支中對「二進制文件」進行版本控制。因此,我想提交一組文件進行開發,另一組文件要掌握。 (當然,這裏也有一組對兩個分支都是「通用」的文件)。但是,我對如上所述保持主控和開發分支不同步持懷疑態度。
請問我提出的模型好聽?如果是這樣,我應該如何處理不同的文件,致力於開發和掌握?有沒有更好的方法來處理這種情況?
我已經通過上述博客頁面上評論的每一個走了,在網上搜索,並且搜索也這裏在計算器上。從搜索結果來看,這個帖子GIT repositories with some different files似乎是唯一一個接近我的問題的地方。這些都幫助我找出解決方案。
感謝您的回覆。 讓我澄清一點。 「支持文件」受版本控制。我只希望他們不會被委託給主分支。您是否建議「包腳本」應該選擇性地從客戶端的主服務器簽出特定文件(即,跳過所有「支持文件」)?這可能是可行的,只是想澄清,如果這就是你的意思。 –
這很接近。我不知道用git選擇性簽出特定文件的方法。但這個想法是正確的,你在客戶端過濾不需要的文件。我的Web開發世界的一個例子是創建一個Capistrano腳本,它可以在本地編譯scss和咖啡腳本文件,然後將scp腳本文件編譯到服務器。通過這種方式,您可以從客戶需求中分離回購,並將回購用於開發需求。我希望你能朝正確的方向發展。 –