git - git reset 后 git unstagged 文件
问题描述
我遇到了 git 的问题。它一直告诉我我有未标记的文件。
即使在之后git reset --hard
或git add --all
它仍然将文件显示为未标记。
我正在使用android studio4.0
PS在这里尝试了所有答案,但没有一个对我有用
解决方案
这是文件名问题中区分大小写的问题:如您所见,一旦被指控的文件被命名OnTime_User_Presenter.kt
,一旦被命名onTime_user_presenter.kt
。
这意味着,不知何故,在两个名称共存的 git 存储库中创建了一个提交。
您可以确认 git 已将哪些文件存储为文件列表:
# you should see the two capitalizations in the command's output :
git ls-tree HEAD -- longdir/
您可以搜索git log
发生这种情况的时间:
git log --graph --oneline --name-status -- longdir/onTime_user_presenter.kt longdir/OnTime_User_Presenter.kt
解决此问题的一种方法:
- 检查您要保留的文件的内容是否正确,
- 修复分支的内容(参见下面的命令),
- 让每个人都拉出最新的分支,将他们的工作重新建立在预期的分支之上,然后运行下面的重命名命令
确保正确命名最终在您的磁盘和索引上的一种方法是:
git mv <bad_capitalization> foo
git mv foo <good_capitalization>
对于第 2 步,在您要修复的每个分支上,运行上述命令,提交内容并推送到您的中央仓库。
如果您有几个人使用 repo,步骤 3. 很重要,这样文件名混乱的人就不会再次推送错误命名的文件。
推荐阅读
- ansible - 使用 sudo 执行的 Ansible apt 模块
- r - 当每个观察的时间不同时创建时变协变量
- google-cloud-firestore - Dialogflow 在内联编辑器中从 Gmail 帐户获取用户名
- design-patterns - GoF Flyweight 设计模式有哪些缺点
- javascript - 有没有办法将 json 对象转换为 json l 文件
- javascript - 我该如何修改我的
- c# - 在 .Net Framework 项目中使用带有部分视图的 Razor 类库
- flutter - 在 InitState 未处理异常中显示对话框:查找已停用小部件的祖先是不安全的
- unit-testing - 笑话:监视正在测试的模块中的其他功能
- javascript - Rails respond_to 抛出 ActionController::UnknownFormat