nam*_*min 7 git git-filter-branch
我知道我可以从git存储库的目录中创建一个新的存储库.请看这里:https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/
但是,如何将目录从一个存储库复制到另一个完全不同的存储库的新目录,同时保留该目录的历史记录?
更新:该历史记录是否可能出现在git log中?
你可以这样做git filter-branch.基本上你想要:
将该分支获取到第二个存储库,然后使用git filter-branch它将其索引过滤到正确的子目录中:
git filter-branch --index-filter '
git ls-files -sz |
perl -0pe "s{\t}{\tnewsubdir/}" |
GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
git update-index --clear -z --index-info &&
mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"
' HEAD
Run Code Online (Sandbox Code Playgroud)最后,检查master第二个项目的分支(或您正在使用的任何分支),然后合并到新过滤的分支中.
一切操作真的不是太可怕,都告诉了.正如AlexanderGladysh在评论中指出的那样,您还可以使用子树合并策略代替步骤3和4.
| 归档时间: |
|
| 查看次数: |
2372 次 |
| 最近记录: |