Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOSX上的git:如何将文件名大小写推送到源文件?_Macos_Git_Github_Filenames_Hfs+ - Fatal编程技术网

MacOSX上的git:如何将文件名大小写推送到源文件?

MacOSX上的git:如何将文件名大小写推送到源文件?,macos,git,github,filenames,hfs+,Macos,Git,Github,Filenames,Hfs+,我已经更改了git存储库中某些目录的大小写。 然后我推了推它们,注意到没有更新的案例 然后我发现了这个问题: 我已按照建议使用: git add -A git commit --amend -m 'updated cases' git push origin 但git服务器没有成功,而是返回: To git@github.com:kyogron/example.git ! [rejected] master -> master (non-fast-forward) er

我已经更改了git存储库中某些目录的大小写。 然后我推了推它们,注意到没有更新的案例

然后我发现了这个问题:

我已按照建议使用:

git add -A
git commit --amend -m 'updated cases'
git push origin
但git服务器没有成功,而是返回:

To git@github.com:kyogron/example.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:kyogron/example.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.
我现在可以做些什么来更新案例而不破坏git回购协议中的更多内容

问候,

博多

注:为了避免将来出现此问题,您可以使用:

git config core.ignorecase false
你需要:

git push --force
因为您已经用您的--amend,after重写了最后一个SHA1

它不会破坏您的回购协议,除非您有其他合作者已经从您以前的提交中提取,如“.”中所述。
(在这种情况下,您可能需要发布您的固定提交)


在OsX上,是否建议(为了避免此问题):


委员会已经找到了一个有效的解决办法:

  • 创建新分支并签出此新分支
  • 然后删除损坏目录目录中的
    .DS\u存储
    文件,并将其重命名为新名称
  • 然后删除存储库中的错误目录(您可以使用
    gitls文件查看它们)
    ,并提交此更改
  • 再次删除
    .DS_存储
    ,现在使用
    git mv

嗨,谢谢你,这帮了忙。不幸的是,现在github上的我的repo中有两个不同的目录。一个大写,一个小写,保存相同的文件。如何删除这一个或更好地安全运行并用本地状态替换每个当前文件?@kyogron如果您使用
git mv
()修复本地repo,以便将目录
A
重命名为目录
A
,并强制推送它,那么就不会有两个目录。让它在本地看起来很好,然后强制推送:您将在GitHub上看到相同的提交。Git mv返回没有应用程序。甚至github也向我展示了应用程序和应用程序。所以我决定在应用程序上尝试git rm-r,它也删除了应用程序。。。然而,我重新设置回一个旧的状态,手动重建我的存储库,并强制推送它。结果是,这两个目录中又出现了应用程序和应用程序…@kyogron您可以
git reset--force
在修改之前提交,然后再次尝试
git mv
。好的,也尝试了这个,但失败了。我还尝试将应用程序重命名为apps和commit,将应用程序重命名为application和commit,然后它又以某种方式重新更改了。我认为+hfs没有正确保存重命名。下次你会怎么处理这件事。谢谢你的努力
git config --unset-all core.ignorecase
git config --system core.ignorecase false