自从我第一次开始使用Git时,我花费了很多时间来处理未被触及时报告为已更改的文件,core.filemode = false
解决了这些问题......但今天我反过来了问题。 (除非另有说明,否则我在Windows 7中使用Git Bash(1.7.10.msysgit.1)执行此操作。)
情况:
在我的master
分支上,我做了git pull upstream master
来取消最新的更改 - 这说明一切都是最新的(我仔细检查过,最后一次提交在我当地是一样的master,我的origin fork和上游Github repo所以我有理由相信这是正确的)
我修改了现有文件。 TortoiseGit 1.8.0.0中的差异显示了更改,但其覆盖仍然显示目录为干净。奇。 git status
......仍然很干净。很奇怪。
我删除了一个文件:rm Readme.md
。文件消失。 git status
仍然很干净。显然,git实际上不再跟踪我的文件了。
(对于记录,设置core.filemode = true
然后运行git status
只是让我对我的Windows系统和Github之间某些模式发生变化的文件毫无意义,但仍未列出已删除的或真正修改过的文件)
我在这里遗漏了一些东西,希望有人能告诉我它是什么!我已经通过我在Github上的fork从这台机器到同一个存储库做了几十次提交,所以我有理由相信这个环境有效,而且我一般都知道我在做什么,但显然有些东西已经改变,我不能把我的现在就用手指。
根据要求编辑我的Git工作流程,如Bash所示(无论如何在主人身上发生问题时都没有检查新的分支):
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上的分叉回购和原始上游回购中的跟踪文件。我希望有帮助吗?
NEW EDIT 我已将文件夹从Dropbox移到本地驱动器上的本地文件夹,但问题仍然存在。必须戳戳.git文件夹。我希望能找到它的错误。
答案 0 :(得分:0)
感谢所有试图提供帮助的人。将整个文件夹(包括.git文件夹)移动到本地硬盘驱动器上的另一个位置后,问题仍然存在。我只能假设不同机器上的两个repo副本试图同时同步git文件夹并导致本地仓库损坏。我最终重新克隆了文件夹(暂时不在Dropbox中),一切正常。