我有一個具有線性歷史的簡單存盤庫,其中作業是在根檔案夾中完成的。我想重寫歷史記錄,以便每次提交的所有作業看起來都發生在/server目錄而不是根目錄中。
最后,存盤庫的根目錄中應該有一個名為server的檔案夾,我專案的所有檔案和檔案夾現在(以及之前的所有歷史點)都位于/server.
uj5u.com熱心網友回復:
git filter-branch --commit-filter '
toptree=`printf "040000 tree %s\\tserver" $1 | git mktree`
shift
git commit-tree $toptree "$@"
' -- --branches
uj5u.com熱心網友回復:
您正在尋找git filter-repo. 這正是它被寫來做的事情;請參閱自述檔案的基本原理部分中的 #3。
https://github.com/newren/git-filter-repo#design-rationale-behind-filter-repo
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/419599.html
標籤:
