【问题标题】:Git status showing weird untracked "path_of_file\r" files, how to remove by command lineGit 状态显示奇怪的未跟踪“path_of_file\r”文件,如何通过命令行删除
【发布时间】:2015-06-12 16:06:46
【问题描述】:

我在一个带有谷歌单元测试的 C++ 程序中,gtest。我运行并构建了这些项目。

最后,当我运行git status 时,它给出了一些奇怪的未跟踪文件。我不知道它们来自哪里,以及我应该如何删除它们。使用 bash。

> git status
On branch A
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    "../path_of_file1\r"
    "../path_of_file2\r"
    "../path_of_file3\r"

nothing added to commit but untracked files present (use "git add" to track)

这不起作用:

rm -f "path_to_file\r"

谢谢。

我相信git clean 应该适用于大多数情况。我尝试了没有“”的 rm,它有效!谢谢你们。 rm path_to_file\r(由制表符完成)

【问题讨论】:

  • 这些路径存在吗?
  • 不要使用您的解决方案更新您的帖子。如果没有可用的解决方案按书面方式工作,您可以编写自己的解决方案并接受它。如果确实有效(即使稍作修改),请接受该答案(并添加注释说明您需要修改的原因)。

标签: c++ git bash command-line


【解决方案1】:

您始终可以使用git clean -f 删除所有未跟踪(和未忽略)的文件。为了安全起见,先运行git clean -n,看看哪些文件会被删除。

【讨论】:

    【解决方案2】:

    大卫的回答很好,假设你想做一个完整的git clean

    这是另一个让您可以单独删除文件的选项:让您的 shell 为您完成文件名,并在必要时将它们转义。

    例如,如果您键入

    rm path_to_file1
    

    然后按 Tab,大多数 shell 将使用正确的转义序列来完成文件名。确切的序列将是特定于 shell 的,我不清楚 \r 是两个字符 \r 还是一个特殊字符,但你的 shell 肯定会知道。

    【讨论】:

    • 我相信git clean 应该可以工作。我尝试了不带引号的rm path_to_file1\r,当键入path_to_file1 时,继续使用制表符,然后它就起作用了。谢谢。
    猜你喜欢
    • 2019-04-20
    • 2022-01-24
    • 1970-01-01
    • 2011-07-09
    • 2018-07-21
    • 2013-05-04
    • 2011-06-04
    • 1970-01-01
    • 2014-02-12
    相关资源
    最近更新 更多