我是git的新用戶,實際上是一個新的用戶到內容跟蹤/源代碼控制。我大約在6個月前開始使用git,並且真的很喜歡它。我把東西放在我的git倉庫裏,我不應該有
愚蠢地,我一直在追蹤我的完整項目,包括包含每個項目所需庫的lib目錄。其中一些是我無法分發的庫。我打算與同事分享我的git回購,並且我的一些項目可能會在某些時候成爲FOSS。能夠分享我的git回購對我很重要。
如何在不丟失歷史的情況下從混亂中走出困境?
另外,它很煩人,因爲如你所知,某些版本的軟件需要某些版本的庫或者它們不會編譯。如果我不能把庫放到git倉庫中,這意味着我可能不得不手動修補,以便讓我的程序的特定提交版本再次運行。換句話說,這是一個巨大的麻煩。
我誤解了有關使用git的一些問題嗎?這似乎是一個巨大的問題。
編輯:我可以很容易地想象大型項目被非自由材料提交所污染的場景。我可以想象這個問題很長一段時間都未被發現,所以這看起來像是分佈式內容跟蹤的致命弱點。我也認爲每次你想調查一些小的變化是完全不可行的時,必須手動查找和使用數十個庫。因此,這使得git在實踐中只能用於完全免費的項目。我錯了嗎?
FWIW當你的程序需要特定版本的庫時,通常你會在README文件中給出這些版本說明或者其他的東西,但是讓其他人自己實際獲得這些庫。您不需要分發運行程序所需的所有內容。 –
你可以使用[git-filter-branch](http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html)編輯你的歷史記錄,但要小心,因爲這個是一個複雜的命令。 –