【发布时间】:2023-04-08 14:52:02
【问题描述】:
我有大约 150 个目录,我想在 git repo 中重命名(并提交)它们。路径类似于;
/src/app/testing/linux/testindexscreen_home/image.png
/src/app/testing/osx/testindexscreen_home/image.png
/src/app/testing/win/testindexscreen_home/image.png
所以我想在与indexscreen_ 匹配的所有路径上运行mv,然后运行commit 以删除该部分字符串。
我在一个 windows 盒子上,使用git bash,目前有 find & mv 命令试图将文件夹移入自身。我不确定您如何删除匹配的字符串;
find . -name '*indexscreen_*' -exec sh -c 'file={}; git mv $file ${file/"*indexscreen_*"/}' \;
我认为需要包含的提交;
find . -name '*indexscreen_*' -exec sh -c 'file={}; git mv $file ${file/"*indexscreen_*"/}; git commit -m "Renamed $file"' \;
所以我想让那个 bash 命令把这些路径变成;
/src/app/testing/linux/testhome/image.png
/src/app/testing/osx/testhome/image.png
/src/app/testing/win/testhome/image.png
并且有诸如“重命名 testhome”之类的提交消息
【问题讨论】: