当前位置: 首页 > 知识库问答 >
问题:

git:每次克隆后文件名恢复为旧名[重复]

彭雨华
2023-03-14

我曾经有一个名为viewmvc.java的文件,其中包含viewmvc类的声明。

后来,我决定将该类重命名为viewMVC。因此,文件名更改为viewmvc.java。我很久以前就把这个变化推到远程了。

共有1个答案

宦博超
2023-03-14

根据评论中的讨论,我认为问题在于git实际上并不认为您在重命名文件时更改了任何内容。您希望它将viewmvc.java视为已删除文件,并将viewmvc.java视为新文件(它有时将报告为viewmvc.java),但我猜,由于不区分大小写的设置,它只是说“不,没有什么重要的更改”。

那么,问题是树对象--本质上是一个读起来像目录列表的文本文件--仍然是旧的大小写。同样,由于不区分大小写的设置,如果工作树中存在不同的大小写,它将愉快地使用不同的大小写来地址文件;但是在克隆上,它默认为树对象中的大小写。

因此,您必须让它更新树对象(理想情况下是在您关心的每个提示提交中)。

要在Windows系统上修复它,我唯一能想到的就是删除文件,提交,然后用大写正确的文件名重新创建文件,然后再次提交。

 类似资料:
  • 我已经在git服务器中安装了ssl证书和密钥。但我得到错误时,我试图克隆通过https从我的mysysgit。早些时候,超文本传输协议运行良好。无法确定它在哪里失败

  • 到现在为止,读者已经零略到Git的灵活性以及健壮性。Git可以通过重置随意撤销提交,可以通过变基操作更改历史,可以随意重组提交,还可以通过reflog的记录纠正错误的操作。但是再健壮的版本库设计,也抵挡不了存储介质的崩溃。还有一点就是不要忘了Git版本库是躲在工作区根目录下的.git目录中,如果忘了这一点直接删除工作区,就会把版本库也同时删掉,悲剧就此发生。 “不要把鸡蛋装在一个篮子里”,是颠扑不

  • 在本文章教程中,我们将演示如何使用 命令。 注意:在开始学习本教程之前,先创建一个存储库,有关如何创建存储库,请参考: http://www.yiibai.com/git/git_create_repository.html 进入一个即将用于存放存储库的目录,作为一个演示,这里使用的目录是:D:\worksp,在此目录中,点击右键,在弹出的菜单中选择:Git Bash,如下图所示 - 弹出一个 G

  • 本文向大家介绍Git 递归克隆,包括了Git 递归克隆的使用技巧和注意事项,需要的朋友参考一下 示例 1.6.5 克隆存储库,还克隆所有子模块。如果子模块本身包含其他子模块,则Git还将克隆那些子模块。

  • 问题内容: 著名的Angular App Structure最佳实践推荐 博客文章概述了新推荐的angularjs项目结构,该项目结构现在是面向组件而非功能的,或者在最初的github问题中命名为“ Organized by Feature”。 博客文章建议每个模块中的每个文件应以模块名称开头,例如: 问题是:与在功能上命名文件相反,在模块的每个文件名内重复模块名称有什么好处和坏处?例如: 我问的

  • 问题内容: 这个问题已经在这里有了答案 : 如何获取Java中文件的文件扩展名? (30个答案) 2年前关闭。 是否有比类似的方法更好的获取文件基名和扩展名的方法 问题答案: 我知道其他人已经提到过,但这是一个仅产生 两个 标记(基本标记和扩展标记)的变体: 例如: 产量: 正则表达式告诉Java在任何时间段前分割,后跟任意数量的非周期,然后是输入结束。只有一个符合此定义的时间段(即 最后一个 时