0

我有一个 repo,路径和文件名中有重音字母。我升级到 msysgit 1.8.0-preview 并继续在其中一个分支上工作(我们称之为recent),根据需要提交和推送。当我意识到由于 v1.7.10 引入的 Unicode 支持而需要迁移我的存储库时,我按照此处的说明进行操作。

我可以迁移所有“非活动”分支,并且可以在它们之间结帐没有问题。但是我不能再结帐recent了。吉特报告:

error: The following untracked working tree file would be overwritten by checkout:

<list of files with accented letters>

Please move or remove them before you can switch branches

根据 没有未跟踪的文件git status。我能做到的唯一方法recent是将其设置为 BitBucket 上的主分支,然后克隆 repo。当我在该分支上时,git status报告没有未跟踪的文件,并且所有内容都是最新的。迁移说明在那里不起作用(同样没有未跟踪的文件可以使用),而且,如果我切换到另一个分支,我将无法切换回来。

在这一点上我有点迷路,有没有勇敢的灵魂可以帮助我?我是唯一一个推送到远程仓库的人。谢谢!

4

1 回答 1

1

这是交易:你有一些文件,我们称它为 a.txt,它在你的工作目录中,但它不存在于你的主分支中。您可能已将其列在其中,.gitignore因此在运行时它不会显示git statusrecent分支中可能有一个名为 a.txt 的文件。当您尝试签出recent分支时,git 想要在您的工作目录中放置一个名为 a.txt 的文件,但它不能,因为您恰好在那里有一个。

解决方案:注意git给你的错误信息!将该列表中的文件移动到一些完全不同的目录中,这样它们就不会丢失,然后您应该能够recent很好地签出分支。顺便说一句,ls通常是比git status.

于 2012-12-20T16:53:53.167 回答