git repo 有两个文件夹路径,除了大小写外都是相同的。怎么解决?

问题描述 投票:0回答:1

我工作的环境中,过去几年有十几个或更多开发人员在同一个存储库中工作。我们遇到过几种情况,在功能分支的并行开发中,文件夹名称是使用相同的文本创建的,但一个可能具有“newFolder”之类的名称,而另一个开发分支的名称可能具有“NewFolder”。 git 将它们视为截然不同的实体,而我们使用的操作系统 Windows 将它们视为相同的实体。这个问题实际上只是相关的,因为我们的系统使用 Python 进行后端编码,而 Python 非常区分大小写。因此,当文件位于“NewFolder”文件夹中时,调用“newFolder”文件夹中的脚本文件中的函数会导致相当大的困难。

我正在尝试找出一种在 git 的角度内重命名“重复”文件夹的方法,这样我们就不会遇到像我们一直遇到的问题。有没有办法在 git 中做到这一点(注意,我不是 git 专家。我知道的知识足以完成日常工作,所以这有点超出了我的能力范围。)?

仅供参考,是的,自从这个丑陋的小问题首次出现以来,我们创建了命名标准以防止将来出现这种情况。只是希望早点完成。

提前致谢!

python windows git github
1个回答
0
投票

以下命令应该修复 git 端的问题,并在

git-bash
中运行:

# list all files in "bad" directory, and read their names one by one:
git ls-files MessageHandlers | while read -r file; do
    # build name of the expected path:
    # start with 'the good name', add the file path where you stripped 'the bad name'
    target=messageHandlers/${file#MessageHandlers/}

    # create intermediate directories if needed:
    mkdir -p "$(dirname $target)"

    # move file:
    git mv "$file" "$target"
done

# check the result, and commit if all is good
git status
git commit
© www.soinside.com 2019 - 2024. All rights reserved.