我运行这个git pull命令,它在Unicode文件名
上窒息& git pull
From .
* branch master -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
error: The following untracked working tree files would be overwritten by checkout:
test-sample-files/MByte/CJK-UTF8-MultiByte/樣品套裝/サンプル.java
test-sample-files/MByte/CJK-UTF8-MultiByte/樣品套裝/의 견본을 뽑다.java
test-sample-files/MByte/japanese/これはサンプルのテストであり、できるだけ早く修正する必要があります.java
test-sample-files/MByte/japanese/サンプル.java
test-sample-files/MByte/korean/의 견본을 뽑다.java
Please move or remove them before you can switch branches.
Aborting
could not detach HEAD
然而git状态报告工作目录干净
$ git status
# On branch dev/experimental
# Your branch and 'master' have diverged,
# and have 3 and 96 different commit(s) each, respectively.
#
nothing to commit (working directory clean)
没有“git add”,或“git reset”或“rm ... *”确实解决了这种情况。非常感谢任何帮助。
P.S。:我在Mac OS X Leopard(10.5)上运行“git version 1.7.5.4”,这是我能为豹子找到的最新预编译。
答案 0 :(得分:2)
您的文件在工作树的当前状态下未跟踪。这就是git add
或git rm
没有做任何事情的原因。
用git stash save --untracked
存储它们,它们将被保存在藏匿处。拉后你可以使用git stash pop
进行恢复,但是你可能会有冲突,因为pull会检查主题是否有可能的不同内容。
由于你坚持使用Git 1.7.5 stash
不知道--untracked
选项,所以你可以
将未跟踪的文件移至临时目录,并将其恢复:
git ls-files --other --exclude-standard | xargs -t -I file mv file untracked
或者使用git add -u
添加它们,并提交
答案 1 :(得分:2)
原因已在堆栈溢出和workaround to handle Mac OS X UTF-8 encoded file names with git中描述!也有描述。