git:删除在本地存储库中删除的远程存储库的文件

时间:2017-01-31 18:12:10

标签: git macos github bitbucket case-sensitive

远程存储库(bitbucket)中存在一些文件。但是,这些文件不再存在于本地存储库中。

我猜它与以下命令有关:

git config core.ignorecase false

我在计算机(OSX)中发现文件正确后执行了该命令但在Git存储库中是错误的(它们在本地存储库中是小写但在远程存储库中是大写的)。然后我执行了:

git add . && git commit -m "comment"
git push origin master

不幸的是,存储库的大写文件没有更改为小写。相反,存储库已经重复了大小写文件。

我执行了以下命令:

git diff master origin (it does not show anything, I guess because it does not detect any change).
git commit -a (no effect)
git add -u (no effect)

2 个答案:

答案 0 :(得分:0)

从远程更新本地存储库,使用大写字母删除文件(假设您要在远程存储库中保留小写文件),从工作树和索引中删除文件,提交并将其推送到远程,如如下:

git pull origin <remote> --rebase
rm <file-with-upper-case> //skip if file does not exist in local
git rm -f <file-with-upper-case>
git commit -m "Deleted Upper Case File"
git push origin <remote>

答案 1 :(得分:0)

这就是我为解决这个问题所做的工作:

我下载了几个Git GUI。 GitUp GUI显示了重复的文件,我不知道为什么:

GitUp screenshot

我意识到只有两个文件夹有重复。所以解决方案是:

  • 将两个文件夹移动到桌面(我在OSX上使用Finder执行;如果使用Windows,则可以使用其文件资源管理器或任何其他GUI)。
  • 添加&amp;用Git提交
  • 将两个文件夹移至原始位置
  • 添加&amp;再次与Git一起提交