1

自从我第一次开始使用 Git 以来,我已经花了很多时间来努力解决那些在没有被触及时被报告为已更改的文件,并core.filemode = false解决了这些问题......但今天我遇到了相反的问题。(除非另有说明,我从 Windows 7 中的 Git Bash (1.7.10.msysgit.1) 执行此操作。)

情况:

  1. 在我的master分支上,我确实git pull upstream master提取了最新的更改 - 这表示一切都是最新的(我仔细检查了最后一次提交在我的本地主服务器、我的原始分支和上游 Github 存储库上是相同的,所以我有理由确定这是对的)

  2. 我修改了一个现有文件。TortoiseGit 1.8.0.0 中的差异显示了更改,尽管它的覆盖仍然显示目录是干净的。奇怪的。git status是……还是干净的。很奇怪。

  3. 我删除了一个文件:rm Readme.md. 文件消失。git status仍然很干净。显然,git 实际上不再跟踪我的文件了。

(为了记录,设置core.filemode = true然后运行git status只是让我胡说八道关于在我的 Windows 系统和 Github 之间的某个时间点改变了模式的文件,但仍然没有列出已删除或真正修改的文件)

我在这里遗漏了一些东西,我希望有人能告诉我它是什么!我已经通过我在 Github 上的 fork 从这台机器向同一个存储库提交了数十次提交,所以我有理由确定这个环境有效,而且我通常知道我在做什么,但显然有些事情发生了变化,我不能把我的手指现在。

根据要求编辑我在 Bash 中遵循的 Git 工作流程(由于问题出现在 master 中,因此无需费心检查新分支):

Emma Burrows@PC ~/Documents/Dropbox/gitproject (test)
$ git checkout master
Switched to branch 'master'

Emma Burrows@PC ~/Documents/Dropbox/gitproject (master)
$ git status
# On branch master
nothing to commit (working directory clean)

Emma Burrows@PC ~/Documents/Dropbox/gitproject (master)
$ git pull upstream master
From git://github.com/company/gitproject
 * branch            master     -> FETCH_HEAD
Already up-to-date.

Emma Burrows@PC ~/Documents/Dropbox/gitproject (master)
$ rm Readme.md

Emma Burrows@PC ~/Documents/Dropbox/gitproject (master)
$ git status
# On branch master
nothing to commit (working directory clean)

Readme.md 是一个跟踪文件,存在于我在 Github 上的分叉存储库和原始上游存储库中。我希望这有帮助吗?

新编辑我已将文件夹从 Dropbox 移到本地驱动器上的本地文件夹,但问题仍然存在。必须戳 .git 文件夹。我希望找出它有什么问题。

4

1 回答 1

0

感谢所有试图提供帮助的人。在我将整个文件夹(包括 .git 文件夹)移动到本地硬盘驱动器上的另一个位置后,问题仍然存在。我只能假设不同机器上的两个 repo 副本试图一次同步 git 文件夹并导致本地 repo 损坏。我最终重新克隆了该文件夹(暂时从 Dropbox 中删除),一切都恢复正常了。

于 2013-02-18T08:03:34.063 回答