2015-04-16 14 views
0

唉唉我記得那些日子,我是一個git的新手,我COMMITED所有這些大的庫文件和我一起的項目...Git的方法:通過重新定位大文件產生清潔回購

但現在我想ressurect一個像這樣的舊項目,我想「淨化」存儲在我學校服務器上的存儲庫(並且地獄,很難一次性下載這些MB而不會在中間取回失敗!)

通過「purify 「,我的意思是我想從現有的倉庫中創建一個倉庫,如果可能的話,維護」提交/分支「結構,但是刪除我選擇的一些文件/文件夾。

詳細來說,假設我有這個大文件夾/lib/以及最終一些其他的,我想完全分開。但是如果可能的話,我希望有一個乾淨的,可逆的分離:在每一次提交中,我都應該保留一些散列或者其他可能給我提示/lib文件夾的內容是什麼的暗示。

理想的解決辦法是有兩個倉庫是總是同步的,並與「相同提交」只用代碼

  • 一個存儲庫,而/lib folder
  • 一個資料庫,具有相同的「提交引用」,但在提交的內容僅是/lib/文件夾

換句話說內容,我想要做的是重新人爲某種依賴管理的(我f僅我開始一個Maven或從一開始就那麼直..嘆息)

簡而言之兩個步驟:

  • 擺脫在每一個lib文件夾中的承諾
  • 插入提交誰丟失了/lib增量,一些信息或指針,我可以在其中找到以前存在的文件的信息(或者可能鏈接到另一個只回應/lib文件夾的回購提交?

回答

1

我相信你應該申請interactive rebase的方法。

您可以使用edit標記標記包含某些庫代碼的提交。重新綁定時,您將能夠刪除該libarary代碼並更改提交消息以指向您的原始提交代碼。

+0

嗯有趣!我仍然需要手工完成大部分工作,但我認爲這是不可避免的。 –