2011-09-08 51 views
2

你的平均Git新手在這裏。如何使用嵌入式庫?

有時候我發現自己在選擇CodeIgniter的PHP框架中開發了庫。在庫中的放置是可以複製到新的框架安裝中以便能夠輕鬆地執行特定任務的東西。理想情況下,它不應該覆蓋任何框架的文件。

現在我想我的GitHub倉庫的主分支只包含庫的文件。不過,我想維護一個開發分支,我將...開發圖書館。問題是,如果沒有圍繞它的框架,我不能開發一個庫,所以開發分支也應該有框架。現在,由於配置框架涉及的所有敏感數據(例如,用於數據庫訪問),我不想在GitHub上推送此分支。但是,鑑於我已經從主分支創建了開發分支,我怎樣才能將我工作的文件「提取」到主分支?我有點困惑。

這種情況下推薦的工作流程是什麼?我應該怎麼做呢?

在此先感謝。

回答

2

兩個解決方案:

1 /在你的開發分支工作時,以從不考慮敏感文件修改

 
    git update-index --assume-unchanged my/sensitive/file 

2 /你才能產生使用過濾器驅動程序修改索引敏感文件來自;

enter image description here

  • 一個模板文件(版本)
  • 值文件(未版本)

請參見 「How to keep different content of one file in my local and github repository?


第三種解決辦法是將將你的dropin lib從你的框架中分離出來d使用框架回購僅在您的磁盤上部署特定版本,然後直接在複製的框架內檢查您的dropin lib回購。

您還可以通過submodules鏈接這兩個回購站,但由於兩個目錄結構重疊,這更復雜。

+0

我嘗試了第三種解決方案,從框架的目錄中使用以下命令:'git clone [email protected]:kitsched/my_repository.git .'僅用於獲取以下錯誤:致命:目標路徑。已經存在並且不是空目錄。「 – janosrusiczki

+0

@kitsched:是的,這不會像你聲明和加載子模塊那樣。看到我的其他答案中的鏈接http://stackoverflow.com/questions/1979167/git-submodule-update/1979194#1979194 – VonC