git - Pycharm 在 Git 中表现异常(树条目中的文件名包含反斜杠)

标签 git pycharm git-clone backslash

我刚买了一台新笔记本电脑,想用 pycharm 克隆我的大学 git 存储库.

每当我尝试使用 Git bash/GUI 或 Pycharm 克隆存储库时,它都会失败并出现错误,

Filename in tree entry contains backslash: 'Aufgabe4a.py# coding=utf-8 ...



错误中包含上述文件的完整内容。

由于这是我大学的 repo ,我不能只是去重命名不属于我的文件。
奇怪的是,这不会发生在我的桌面 .我可以在那里很好地克隆 repo。
  • 两台机器都运行 Windows 10 和最新版本的 Git/Pycharm。
  • SSH 配置正确,我也无法使用 HTTPS 进行克隆。

  • 我期待您的建议,因为我需要这个 repo 来提交我的练习,并且并不总是可以访问我的桌面。

    编辑:存储库中没有一个文件在其名称中包含反斜杠。我查看了网站和“工作副本”,这是一个用于预览 Git 存储库的 iOS 应用程序。

    以下是在笔记本电脑上使用 Git 进行调试时的结果:
    18:28:45.034704 exec-cmd.c:237          trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
    18:28:45.036676 git.c:439               trace: built-in: git clone git@*removed*.git
    Cloning into 'uebungen'...
    18:28:45.093121 run-command.c:663       trace: run_command: unset GIT_DIR; ssh git@*university URL* 'git-upload-pack '\''*university repo*'\'''
    18:28:48.140893 run-command.c:663       trace: run_command: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 8492 on DESKTOP-QNIF5QA' --check-self-contained-and-connected
    18:28:48.155482 exec-cmd.c:237          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
    18:28:48.157663 trace.c:375             setup: git_dir: C:/Users/*removed*/uebungen/.git
    18:28:48.157663 trace.c:376             setup: git_common_dir: C:/Users/*removed*/uebungen/.git
    18:28:48.157663 trace.c:377             setup: worktree: C:/Users/*removed*
    18:28:48.157663 trace.c:378             setup: cwd: C:/Users/*removed*
    18:28:48.157663 trace.c:379             setup: prefix: (null)
    18:28:48.158012 git.c:439               trace: built-in: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 8492 on DESKTOP-QNIF5QA' --check-self-contained-and-connected
    remote:
    remote: Enumerating objects: 828, done.
    remote:
    (...)
    remote: Counting objects: 100% (828/828), done.
    remote:
    (...)
    remote:
    remote: Compressing objects: 100% (380/380), done.
    remote: Total 1184 (delta 490), reused 725 (delta 430)
    error: filename in tree entry contains backslash: 'Aufgabe4a.py# coding=utf-8
    import random #Liste für die Auswahlmöglichkeiten für den Rechner list = ["Schere", "Stein", "Papier"] #Eingabemöglichkeit für den Benutzer print("Versuchen Sie ihr Glück in Schere, Stein, Papier!") w = (raw_input("Bitte wählen sie Schere, Stein, oder Papier:")) # if w == "Schere":     print("Sie haben Schere gewaehlt!\n") else:     if w == "Stein":         print("Sie haben Stein gewaehlt!\n")     else:         if w == "Papier":             print("Sie haben Papier geweahlt!\n")         else:             print("Sie haben keine zugelassene Eingabe getaetigt!")             exit() #Wahl des Rechners wird, sowie der Ausgang des Spiels entschieden x = list[random.randint(0, 2)] print("Ihr Gegner hat " + x + " gewaehlt!\n")  if w == "Schere":     if x == "Schere":         print("Sie haben unentschieden gespielt!")     else:         if x == "Stein":             print("Stein schleift Schere, Sie haben verloren!")         else:             if x == "Papier":                 print("Schere schneidet Papier, Sie haben gewonnen!") elif w == "Stein":     if x == "Schere":         print("Stein schleift Schere, Sie haben geweonnen!")     elif x == "Stein":         print("Sie haben unentschieden gespielt!")     elif x == "Papier":         print("Papier umfaltet Stein, Sie haben verloren!") elif w == "Papier":     if x == "Schere":         print("Schere schneidet Papier, Sie haben verloren!")     elif x == "Papier":         print("Sie haben unentschieden gespielt!")     elif x == "Stein":         print("Papier umfaltet Stein, Sie haben gewonnen!")'
    fatal: Not all child objects of 9(...)c are reachable
    fatal: index-pack failed
    

    这是台式机上的调试输出:
    21:38:07.768170 exec-cmd.c:237          trace: resolved executable dir:C:/Program Files/Git/mingw64/bin
    21:38:07.769170 git.c:440               trace: built-in: git clone git@*uni repo*.git
    Cloning into 'uebungen'...
    21:38:07.783173 run-command.c:663       trace: run_command: unset GIT_DIR; ssh git@*uni domain* 'git-upload-pack '\''*repo*.git'\'''
    21:38:08.587244 run-command.c:663       trace: run_command: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 14672 on Leo-PC' --check-self-contained-and-connected
    21:38:08.602247 exec-cmd.c:237          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
    21:38:08.604247 trace.c:377             setup: git_dir: C:/Users/*removed*/uebungen/.git
    21:38:08.604247 trace.c:378             setup: git_common_dir: C:/Users/*removed*/uebungen/.git
    21:38:08.604247 trace.c:379             setup: worktree: C:/Users/*removed*
    21:38:08.604247 trace.c:380             setup: cwd: C:/Users/*removed*
    21:38:08.604247 trace.c:381             setup: prefix: (null)
    21:38:08.604247 git.c:440               trace: built-in: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 14672 on Leo-PC' --check-self-contained-and-connected
    remote:
    remote: Enumerating objects: 852, done.
    (...)                                                                     remote: Counting objects: 100% (852/852), done.
    (...)                                                                        remote: Compressing objects: 100% (373/373), done.
    remote: Total 1208 (delta 508), reused 792 (delta 461)
    Receiving objects: 100% (1208/1208), 6.24 MiB | 36.54 MiB/s, done.
    Resolving deltas: 100% (680/680), done.
    21:38:09.614724 run-command.c:663       trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs '--progress=Checking connectivity'
    21:38:09.628565 exec-cmd.c:237          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
    21:38:09.630566 trace.c:377             setup: git_dir: C:/Users/*removed*/uebungen/.git
    21:38:09.630566 trace.c:378             setup: git_common_dir: C:/Users/*removed*/uebungen/.git
    21:38:09.630566 trace.c:379             setup: worktree: C:/Users/*removed*
    21:38:09.630566 trace.c:380             setup: cwd: C:/Users/*removed*
    21:38:09.630566 trace.c:381             setup: prefix: (null)
    21:38:09.630566 git.c:440               trace: built-in: git rev-list --objects --stdin --not --all --quiet --alternate-refs '--progress=Checking connectivity'
    21:38:09.639568 chdir-notify.c:65       setup: chdir from 'C:/Users/*removed*' to 'C:/Users/*removed*/uebungen'
    21:38:09.639568 chdir-notify.c:40       setup: reparent packed-refs to 'C:/Users/*removed*/uebungen/.git/packed-refs'
    21:38:09.639568 chdir-notify.c:40       setup: reparent files-backend $GIT_DIR to 'C:/Users/*removed*/uebungen/.git'
    21:38:09.639568 chdir-notify.c:40       setup: reparent files-backend $GIT_COMMONDIR to 'C:/Users/*removed*/uebungen/.git'
    

    最佳答案

    VonCanswer有关该问题的更新

    git-for-windows 上有一个 Unresolved 问题存储库(适用于 v2.24 )

    Git 2.24 breaks existing repositories: filename in tree entry contains backslash

    用户 carlescufi 建议的解决方法是禁用 core.protectNTFS .

    git config --global core.protectNTFS false
    

    引用 git docs这里,

    core.protectNTFS

    If set to true, do not allow checkout of paths that would cause problems with the NTFS filesystem, e.g. conflict with 8.3 "short" names. Defaults to true on Windows, and false elsewhere.

    关于git - Pycharm 在 Git 中表现异常(树条目中的文件名包含反斜杠),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59345571/

    相关文章:

    git - 带有Docker构建的PHP和Composer:无法克隆git

    git - 避免在 git 中使用时间戳

    python - pycharm中的Pybluex python蓝牙模块安装错误报错

    git - 将 git 从本地机器克隆到我的服务器?

    Git:权限被拒绝(公钥)致命 - 无法从远程存储库读取。在克隆 Git 存储库时

    python - 重新安装操作系统后使用 virtualenv 在 PyCharm 项目中“无法设置 Python SDK”

    c# - 如何在 VS Code 中禁用 pop GitHub

    git - git push 和 git push origin master 的区别

    git - 在不克隆远程的情况下获取远程存储库中 HEAD 指向的分支名称

    python - 怎么做才能让PyCharm找到PySide的源码?