在工作中,我們有一個CVS存儲庫,其提交已延伸了近15年。幾年前,該存儲庫已轉換爲git並上傳到公共GitHub存儲庫。但是,git存儲庫剛剛使用當前版本的文件進行初始化,沒有導入歷史記錄(不是我所做的)。 CVS的歷史很簡單直線 - 我們從未使用CVS分支。它不是一個高度活躍的存儲庫:自創建以來,公共git存儲庫只有大約25次提交。只將歷史記錄從CVS存儲庫導入到已創建的git存儲庫中
我希望能夠將CVS歷史記錄導入到現有的git存儲庫中,而無需創建新的存儲庫。根據我在git-cvsimport
或cvs2git
的文檔中閱讀的內容,這些工具總是會創建新的存儲庫。或者,我可以做一個新的cvs/git轉換,並上傳新的存儲庫來代替當前的存儲庫,並應用25個cvs後提交。這是可能的,如果是這樣,推薦的方法是什麼?我已經讀取了&對CVS和git存儲庫的寫入訪問權限,並且在必要時可以訪問CVS服務器。
我對於簡單的git分支,合併和重新綁定感到相當舒服,但我不會說我是專家(我會參考Pro Git書籍)。
感謝您的迴應!而不是'git branch import --orphan'我使用了'git checkout --orphan import'。在那之後,'git status'告訴我每個文件都是「新的」,所以看起來是正確的。當我嘗試執行'git pull import-repo master'時,它看起來像抓取行,但合併不:我得到:'錯誤:條目'文件名'將被合併覆蓋。無法合併.'在刪除並重新克隆當前存儲庫並重復之後,我得到一個不同的'文件名',所以我認爲這個特定文件沒有什麼特別之處。我需要強制合併嗎? – Derek
對於孤兒的錯誤感到抱歉。你是否按照步驟'rm -rf * .gitignore#或任何其他文件',即I.e.清潔工作目錄? –
不用擔心,是的。 'git status'顯示'新文件:filenameA,新文件:filenameB'等等,並且'沒有爲commit提交更改','刪除:filenameA,刪除:filenameB'等,顯示'要更改提交'除了./.git文件夾以外,它是完全空的。我想知道這應該是'git rm -rf'而不是? – Derek