我想以某種方式更改git目錄結構。目前的架構是一樣更改git結構
VL(repo) .git (hidden) code files ...... ..... I want it like html(repo) .git VL code files ...... ......
我有一個解決方案,以存檔當前回購,然後創建與上述結構的新的回購協議。但這種方法的壞處在於它刪除了以前的所有歷史記錄。有沒有更好的解決方案?
我想以某種方式更改git目錄結構。目前的架構是一樣更改git結構
VL(repo) .git (hidden) code files ...... ..... I want it like html(repo) .git VL code files ...... ......
我有一個解決方案,以存檔當前回購,然後創建與上述結構的新的回購協議。但這種方法的壞處在於它刪除了以前的所有歷史記錄。有沒有更好的解決方案?
將根文件夾的名稱從VL
更改爲html
應該沒問題,因爲git只能在低於該級別的目錄中工作。
那麼,剩下的就是引進低於html
文件夾中的文件夾VL
和移動所有code files
有:
mkdir VL
git mv <all your code> VL
git commit -m "moved all my code under VL"
使用git mv
你告訴你感動的事情git的,所以它仍然可以保持跟蹤歷史。
編輯:
作爲Benjol注意到他的意見,使用git mv
時並不需要。你可以通過複製<all your code>
到VL
達到相同的,然後做
git add VL
git rm <all your code>
git commit -m "moved all my code under VL
Git是足夠聰明的認識到這場運動。
手動移動您的代碼。然後,
git add -A
git commit -m "moved code"
完成。
即使你不使用'git mv',git也應該接受文件只被移動而沒有被改變的事實。 – Benjol 2012-02-15 12:55:56
@ Benjol:是的,當然你是對的。只是想給OP提供信息,說明他的用例有一個內置命令。更新答案。謝謝。 – eckes 2012-02-15 13:07:21
請注意,歷史將通過「git log --follow」進行更改,但這僅適用於單個文件。 – yoyo 2014-07-09 03:41:51