Git状态显示奇怪的未跟踪“path_of_file \ r”文件,如何通过命令行删除

时间:2015-06-12 16:06:46

标签: c++ git bash command-line

我参加了谷歌单元测试的g ++程序。我跑了并建造了这些项目。

最后,当我运行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 \ n(通过标签填写)

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

大卫的答案很好,假设你想做一个完整的(defun my-find-func-mouse (event) (interactive "e") (let ((fn (save-excursion (goto-char (posn-point (event-end event))) (function-called-at-point)))) (unless (fboundp fn) (error "No function here")) (find-function-do-it fn nil 'switch-to-buffer-other-window))) (global-set-key [C-down-mouse-1] nil) (global-set-key [C-mouse-1] #'my-find-func-mouse)

这是另一个允许您单独删除文件的选项:让shell为您完成文件名,并根据需要转义它们。

例如,如果您键入

git clean

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