2013-11-22 104 views
3

我正在將git倉庫與一堆代碼放在一起,並且注意到我想要在我的倉庫中提供的大部分代碼都可以從其他Git源獲得。我已經在子模塊和子樹上做了相當多的閱讀,但是我不確定最適合我的用例。使用子倉庫管理git

我的git倉庫會有一些文件夾,腳本等,我想從遠程倉庫獲得最新的代碼。

理想情況下,如果我自己或社區中的某個人想要在遠程git控制下的文件夾中爲代碼進行修改和提交補丁,他們可以在該文件夾下工作並提交補丁而不影響我的回購。

我也希望用戶能夠提交補丁到我的回購爲腳本/文件而不造成大量的心痛由於子模塊/子樹,在首選的解決方案等

建議?子模塊,子樹或其他東西?

這是示例佈局。

Folder1中

--------- SubFolder1.1

FOLDER2 < = GIT中回購=>

Folder3

--------- SubFolder3.1 < = Git Repo =>

回答

1

我希望在我的回購庫中提供大量代碼來自其他Git源
我想從遠程存儲庫獲取最新的代碼。

子模塊似乎是最合適的,特別是因爲a submodule can follow the latest commits from a given branch
但因爲你想提交補丁,這意味着你必須首先:

  • 叉的倉庫
  • 添加叉作爲子模塊到項目中。

這樣,您可以:

  • 創建一個子模塊內的專用分支,
  • 作出新的提交
  • 推那些你的叉子
  • 使從那裏
  • pull請求

子模塊的唯一複雜性是記住任何修改w ithin子模塊意味着您必須返回父代碼庫,添加,提交併推送代表修改的子模塊的新代碼special entry