问题:
项目启动时创建自己的分支时,把文件名称开头大写了Feature/XXX,但是后来发现远程的主分支名称为feature/AAA,拉取远程分支名称为Feature/AAA,而且不能进行push操作。
原因:
由于分支存储为.git目录中的文件。单个分支是包含分支指向的提交对象的哈希的单个文件。
所以,当创建一个分支Feature/XXX这将对应于文件的目录 .git/refs/heads/Feature/。所以Git将创建一个文件夹Feature文件夹,然后指向提交。
由于macOS 默认是不区分文件路径中的大小写的。这意味着feature/AAA和Feature/AAA是相同的。所以当你添加另一个分支feature/AAA时,它将创建一个文件AAA并将其添加到该文件夹中
但实际的内部名称取自原始文件夹和文件名。因此,当您的feature分支类别的文件夹以大写形式写入时,那么分支被识别为大写修改。所以提交到远程分支并不是提交到原来到feature/AAA,而是会创建新的Feature/AAA
解决方案:
需进入 .git/refs/heads/feature/ 将更改文件夹名称Feature->feature
或创建新分支时,直接用feature/XXX,保持前缀到一致性,避免上述问题发生
本文解释了在使用Git时遇到的因分支名称大小写不同而导致的问题,并提供了如何解决这一问题的具体步骤。
6242

被折叠的 条评论
为什么被折叠?



