git pull
在我的本地“不成功”之后master
,错误阻止切换回master
:
C: repo_folder> git checkout master
error: invalid path '?'
?
一定是因为它是一个回购keybase
。
从另一个分支,我检查了最后一次提交的一些文件:
C: repo_folder> git diff origin/master --compact-summary
"\004" (gone) | 1902 ---------------------------
some irrelevant stuff | (num) -
删除的文件"\004"
(我的本地从未出现过)似乎来自某些Mac OS
(某人可能已经打开了一个csv
并且在该用户进行提交并推送时创建了一个临时文件?)。
- 观察标记为的文件
(gone)
将被git删除 - 问题是文件名包含与 Windows 文件系统不兼容的字符,并且该文件从未存在于我的本地 Windows 存储库中。
如果我从 Linux 平台克隆,我可以毫无问题地结帐master
。但是,在 Windows 中,无法返回master
分支。
关于如何解决这个问题的任何想法?(已经尝试了一些没有成功的帖子)我真的不明白它是怎么来的git
,甚至不允许我结帐到master
. 我应该提交错误报告吗?
或者,也许我可以创建一个新master
分支并摆脱当前分支。
编辑
来自的克隆Linux
有助于确定该文件?
确实存在。这也可以通过使用以下命令直接从 Windows 进行检查:(git ls-tree origin/master
显示原始有问题的名称"\004"
)
接受的答案包括您想要保存文件内容的情况,而在我的情况下,我只想摆脱它。因此,就我而言,我刚刚从 中删除了文件Linux
,提交并推送了更改,并在另一个分支中签出了git fetch origin master:master
我的本地文件master
(因为我无法签出到master
)。这终于成功了,我可以结帐到master
.
希望这能澄清有类似问题的人。