是否可以在一次操作中将git筛选器分支与--tree筛选器和--subdirectory筛选器一起使用
我想重写git回购协议:是否可以在一次操作中将git筛选器分支与--tree筛选器和--subdirectory筛选器一起使用,git,git-filter-branch,Git,Git Filter Branch,我想重写git回购协议: \Old-Repo \.git \old \path1 |-content to migrate \path2 |-unwanted \New-Repo \.git \src |-content to migrate 仅从旧路径获取内容[使用子目录过滤器] 将其写入\src中的新回购,而不是\path[使用树过滤器移动]
\Old-Repo
\.git
\old
\path1
|-content to migrate
\path2
|-unwanted
\New-Repo
\.git
\src
|-content to migrate
- 仅从旧路径获取内容[使用
]子目录过滤器
- 将其写入\src中的新回购,而不是\path[使用
树过滤器移动]
过滤器分支
时,我得到了所需的结果-当我尝试同时指定--子目录过滤器
和--树过滤器
时,移动操作--树过滤器'mkdir-p C:/tmp;mv*C:/tmp;mkdir src;mv C:/tmp/*src/'
未在结尾处完成,因此文件夹也保留在重写回购的根目录下
我想指定git应该先应用子目录过滤器,然后再应用树过滤器,这可能吗?这两个操作都是按照这个顺序完成的。看见我现在运行的命令是:
git filter branch--tree filter'mkdir-pc:/tmp;mv*C:/tmp;mkdir src;mv C:/tmp/*src/'--tag name filter cat--子目录filter root/old/path1--prune empty--all
要诊断问题,请让树过滤器记录它所看到的内容,或者创建一个git filter branch
的变体,在运行命令时打印命令(最简单的方法是将-x
添加到shell选项中,尽管这会非常冗长)。这两个操作是按该顺序完成的。请参阅。不清楚这里出了什么问题。我正在运行的命令是:git filter branch--tree filter'mkdir-pc:/tmp;mv*C:/tmp;mkdir src;mv C:/tmp/*src/'--标记名filter cat--子目录filter root/old/path1--prune empty--all
要诊断问题,请使用e-filter记录它看到的内容,或者创建一个git-filter-branch的变体,该变体在运行命令时打印命令(最简单的方法是将-x
添加到shell选项中,尽管这会非常冗长)。