0
我的混帐回购目前看起来是这样的:移动所有的git的内容与文件夹层次结构完整的历史一个层次了
.git\
A_Dir\
+---- B_Dir\
+---- C_Dir\
+---- ManyFiles
我想的A_Dir
所有内容上移一级(及删除A_Dir
)像这样[包括整个历史,参考,标签 - 好像A_Dir
的内容一直在.git
的相同目录级别上,这样我就可以合并所有分支 - 因为此举从未发生]:
.git\
B_Dir\
C_Dir\
ManyFiles
我已经找到了一些答案的计算器一样:
git filter-branch --index-filter 'git ls-files -s |
sed "s-\t\"*-&new_subdir/-" |
GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info &&
mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' --tag-name-filter cat -- --all
这种重写的整个历史,但在new_subdir
目录中移动的内容了。我其实需要执行反转的命令!
任何人都可以帮忙吗?
这正是我所需要的!像魅力一样工作,非常感谢你! – Nocs 2015-03-13 17:16:22