如何重写历史记录以便所有文件都在子目录中?

时间:2015-05-22 12:40:27

标签: git

我的问题是简化How can I rewrite history so that all files, except the ones I already moved, are in a subdirectory?

我创建了一个repo并在我的IDE中提交了一个项目。现在所有repo的根映射到项目根目录,所有文件都在根目录中。如何将项目移动到自己的子目录中以便在同一个仓库中容纳其他项目,并重写历史记录,看起来好像所有内容都已正确完成?

1 个答案:

答案 0 :(得分:1)

这对我有用

git filter-branch --tree-filter 'mkdir NEW_FOLDER; git ls-tree --name-only $GIT_COMMIT | xargs -I files mv files NEW_FOLDER'

NEW_FOLDER是新的目标子目录。