【问题标题】:It says I have changes not staged for commit but I literally pull the content and it says that I'm already up to date它说我有未提交的更改,但我确实提取了内容,它说我已经是最新的
【发布时间】:2021-03-18 15:26:16
【问题描述】:

我是 Github 上某个组织(大学编程课程)的一员。

我在该组织中有我的个人仓库和班级仓库。

我无权编辑我的班级回购中的任何文件,而是我应该将两个回购本地克隆到我的计算机上,然后将文件从我的本地化班级回购复制到我的本地化个人回购以便做作业等.

我总是从我的远程类 repo 拉到我的本地类 repo,它说我已经是最新的,但是当我检查状态时,它说我有更改未暂存以提交。

我不明白这是怎么可能的,因为我实际上没有权限。
我该怎么做才能让它说我的工作树是干净的?

【问题讨论】:

  • 您在本地删除了一些您有权限的文件。尝试使用 git reset --hard 回到最近的 pull 并重新阅读您的课程笔记 :)
  • 当您从存储库签出文件时,您会在本地计算机上制作副本。你可以对这些文件做任何你想做的事情。您只是无权将这些更改推送回 github。但是您当然可以(并且显然已经)在这些目录中进行了更改。问题似乎在于您正在使用 icloud 驱动器并且可能具有“优化”存储,因此您的操作系统正在为您移动文件。请参阅此处了解如何关闭它:sync.com/help/why-do-my-files-have-an-icloud-extension
  • 我关闭了优化存储的选项。我删除了本地存储库,然后再次将它们复制到我的机器上,但仍然存在相同的消息

标签: r git github


【解决方案1】:

作为mentioned here,Apple 使用“.icloud”扩展名表示文件尚未下载到您的 Mac,但可以通过 iCloud Drive 获得。
当您双击打开时,Finder 会自动按需下载这些文件。

有可能您(或其他有能力提交的人)之前添加了这些临时文件,作为git add+git commit 的一部分,但后来访问了这些文件(实际文件),这将触发删除这些指针。

我建议将规则“*.icloud”添加(或要求)到您的存储库的 .gitignore 文件中。

【讨论】:

  • 那我该怎么做呢?我的本地化类 repo 中没有 .gitignore 文件
  • @user901871 您可以简单地创建一个,在其中添加以下规则:echo *.icloud > .gitignore
猜你喜欢
  • 2014-11-11
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
  • 2017-01-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
相关资源
最近更新 更多