在具有此文件系统的 OSX 10.10.2 和 Git 2.2.1 上: 文件系统个性:日志式 HFS+ 类型(捆绑包):hfs 名称(用户可见):Mac OS 扩展(日志式)
我已经看到了与此相关的几个问题和答案: 无法解析的 Git 错误:以下未跟踪的工作树文件将被签出覆盖
该问题的实际解决方案并未明确指定,但涉及:
将选项设置为 true 后,我花了一些文件历史记录(删除并重新添加文件)来解决此错误。
我已经尝试了提供的其他解决方案,但仍然面临如何正确移动文件的问题。
运行后:
sudo git config --unset-all core.ignorecase && sudo git config --system core.ignorecase false
Run Code Online (Sandbox Code Playgroud)
然后我仍然无法使用 (git 2.2.1) 重命名文件,因为我收到错误fatal: destination exists:
git mv File.name file.name
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法重命名它们:
git mv File.name File.name.tmp
git mv File.name.tmp file.name
Run Code Online (Sandbox Code Playgroud)
但是,我无法签出较旧的提交/分支,因为我收到以下消息:
error: The following untracked working tree files would be overwritten by merge:
File.name
Run Code Online (Sandbox Code Playgroud)
如果我强制签出或将ignorecase更改为true,我可以切换分支,但是我仍然无法合并更改,因为我收到以下消息:
error: The following untracked working tree files would be overwritten by merge:
file.name
Run Code Online (Sandbox Code Playgroud)
请注意,冲突的文件名在这两条错误消息中更改了大小写。在这两种情况下,运行 a 都git reset --hard HEAD无法解决问题。
这是 git 中的错误吗?我做错了吗?无论如何,我看不到强制合并,我还能做什么?是否必须删除并重新添加该文件,从而破坏该文件的更改历史记录?
编辑:到目前为止,似乎唯一的解决方案(保留文件历史记录并且不需要通过重写项目历史记录来破坏旧版本)是将重命名分成两个提交,然后要求合并此分支的任何人手动合并两次。
ent*_*erd -1
我使用 Mac OSX,并且对于我的大部分 Git 工作,我使用Atlassian 的 SourceTree。我只是尝试通过右键单击要重命名的未暂存文件,选择“移动”选项,然后重命名该文件并将其保留在当前位置来重命名那里的文件。这对我有用。我希望这有帮助。评论任何后续问题。
编辑:根据评论请求添加结果diskutil info /:BELC02NF206G3QN:〜jthoms $ diskutil信息/设备标识符: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
Run Code Online (Sandbox Code Playgroud)