如何在OSX上的Git中正确更改文件名大小写

时间:2016-01-14 20:51:14

标签: git macos

在OSX 10.10.2和Git 2.2.1上使用此文件系统:    文件系统个性:Journaled HFS +    类型(Bundle):hfs    名称(用户可见):Mac OS Extended(Journaled)

我看过几个与此相关的问题和答案: Unresolvable Git error: The following untracked working tree files would be overwritten by checkout

在该问题中起作用的实际解决方案尚未明确规定,但涉及:

  

在将选项设置为true后,我花了一些文件历史记录分解(删除并重新添加文件)来解决此错误。

我已经尝试了其他解决方案,但我仍然遇到了如何正确移动文件的问题。

跑步:

sudo git config --unset-all core.ignorecase && sudo git config --system core.ignorecase false

然后我仍然无法使用(git 2.2.1)重命名文件,因为我收到fatal: destination exists错误:

git mv File.name file.name

我可以使用以下命令重命名:

git mv File.name File.name.tmp
git mv File.name.tmp file.name

然而,我无法检查旧的提交/分支,因为我收到此消息:

error: The following untracked working tree files would be overwritten by merge:
File.name

如果我强制结帐或将ignorecase更改为true,我可以切换分支,但是我仍然无法合并更改,因为我收到此消息:

error: The following untracked working tree files would be overwritten by merge:
file.name

请注意,冲突的文件名会在这两个错误消息中更改其大小写。在这两种情况下,运行git reset --hard HEAD都无法解决问题。

这是git中的错误吗?我做错了吗?我没有看到强迫合并,我还能做什么?是否必须删除并重新添加文件,从而打破对该文件的更改历史记录?

编辑: 到目前为止,似乎唯一的解决方案(保留文件历史记录并且不需要通过重写项目历史来破坏旧版本)是将重命名分成两个提交,然后要求任何合并此分支的人手动合并两次。

1 个答案:

答案 0 :(得分:0)

我使用Mac OSX,对于我的大部分Git工作,我使用Atlassian's SourceTree。我只是尝试通过右键单击要重命名的非暂存文件,选择 Move 选项,然后重命名文件并将其保留在当前位置来重命名文件。它对我有用。我希望有所帮助。评论任何后续问题。

修改:根据评论请求添加diskutil info /的结果:     BELC02NF206G3QN:~jthoms $ diskutil info /     设备标识符:disk1     设备节点:/ dev / disk1     整体的一部分:disk1     设备/媒体名称:Macintosh HD

Volume Name:              Macintosh HD

Mounted:                  Yes
Mount Point:              /

File System Personality:  Journaled HFS+
Type (Bundle):            hfs
Name (User Visible):      Mac OS Extended (Journaled)
Journal:                  Journal size 24576 KB at offset 0x19502000
Owners:                   Enabled

Content (IOContent):      Apple_HFS
OS Can Be Installed:      Yes
Recovery Disk:            disk0s3
Media Type:               Generic
Protocol:                 PCI
SMART Status:             Not Supported
Volume UUID:              D2FB2CB7-9CA8-38D1-9116-AA88AFC39748
Disk / Partition UUID:    01D2D5C8-8300-4FE6-9ED5-07C5D4C0879D

Total Size:               249.8 GB (249795969024 Bytes) (exactly 487882752 512-Byte-Units)
Volume Free Space:        27.0 GB (27011723264 Bytes) (exactly 52757272 512-Byte-Units)
Device Block Size:        512 Bytes
Allocation Block Size:    4096 Bytes

Read-Only Media:          No
Read-Only Volume:         No
Ejectable:                No

Whole:                    Yes
Internal:                 Yes
Solid State:              Yes
OS 9 Drivers:             No
Low Level Format:         Not supported

This disk is a Core Storage Logical Volume (LV).  Core Storage Information:
LV UUID:                  01D2D5C8-8300-4FE6-9ED5-07C5D4C0879D
LVF UUID:                 AC10903C-43BB-403E-BD90-F7BF785DF8AC
LVG UUID:                 B0718DFB-82C0-402C-836E-DD3B32E5EEDC
Fusion Drive:             No
Encrypted:                Yes