git: 删除本地仓库中已删除的远程仓库的文件
git: remove files of the remote repository that are been deleted in the local repository
远程存储库 (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)
从远程更新您的本地存储库,删除大写文件(假设您想在远程存储库中保留小写文件),从工作树和索引中删除文件,提交并将其推送到远程,如下:
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>
这是我解决问题的方法:
我下载了几个 Git GUI。 GitUp GUI 显示重复文件我不知道为什么:
我意识到只有两个文件夹有重复项。所以解决方案是:
- 将两个文件夹移动到桌面(我在 OSX 上使用 Finder 完成了此操作;如果您使用 Windows,则可以使用其文件资源管理器或任何其他 GUI)。
- 添加并提交 Git
- 将两个文件夹移动到它们的原始位置
- 再次使用 Git 添加并提交
远程存储库 (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)
从远程更新您的本地存储库,删除大写文件(假设您想在远程存储库中保留小写文件),从工作树和索引中删除文件,提交并将其推送到远程,如下:
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>
这是我解决问题的方法:
我下载了几个 Git GUI。 GitUp GUI 显示重复文件我不知道为什么:
我意识到只有两个文件夹有重复项。所以解决方案是:
- 将两个文件夹移动到桌面(我在 OSX 上使用 Finder 完成了此操作;如果您使用 Windows,则可以使用其文件资源管理器或任何其他 GUI)。
- 添加并提交 Git
- 将两个文件夹移动到它们的原始位置
- 再次使用 Git 添加并提交