2011-10-18 7 views
7

Tôi đã thêm tệp vào kho lưu trữ git mà tôi muốn xóa ngay bây giờ. Tôi đã xóa nó với rm XXX. Bây giờ, git status chỉ cho tôi:Không thể git rm với các ký tự đặc biệt

Changed but not updated: 
    deleted: "Sche\314\201ma application + interface.graffle" 

Không có vấn đề làm thế nào tôi git rm nó, tôi vẫn có một:

fatal: pathspec 'Schêma application + interface.graffle' did not match any files 

tôi đã cố gắng để thoát khỏi khoảng trắng với \, để thoát khỏi \ với \\, để thoát khỏi " với \". Không có vấn đề gì tôi đã cố gắng, nó đã thất bại.

Bạn có gợi ý không?

+0

với những loại câu hỏi đó là rất quan trọng để cho mọi người biết những gì hệ điều hành bạn đang sử dụng .. –

+0

chắc chắn, tôi ngạc nhiên quá không phải để viết nó. Darwin MacBook-de-XXX.local 10.8.0 Darwin Kernel Phiên bản 10.8.0 : Thứ Ba ngày 7 tháng 6 16:33:36 PDT 2011; root: xnu-1504.15.3 ~ 1/RELEASE_I386 i386 = Mac Tuyết báo – iwalktheline

Trả lời

24

này sẽ phát hiện loại bỏ:

git add -u 
0

thử git gui. Bạn có thể có thể thoát khỏi nó đúng cách nhưng nó có thể là quá nhiều rắc rối hơn nó có giá trị. Nó nên thoát khỏi điều này đúng cách.

Nếu sự cố của bạn đang bị xóa, chỉ cần git add -A để thêm tất cả thay đổi vào chỉ mục.

0

Quấn nó trong dấu nháy đơn.

git rm '"Sche\314\201ma application + interface.graffle"' 

Nếu bạn cần thoát dấu nháy đơn trong tên tệp, hãy bọc dấu ngoặc kép trong dấu ngoặc kép. Vì vậy, nếu vì một lý do tên file của bạn là '"(đó là dấu nháy đơn, nháy kép), sử dụng

git rm "'"'"' 

nơi tập đầu tiên của dấu ngoặc kép được gói báo giá duy nhất, và tập cuối của dấu nháy đơn được gói . báo giá gấp đôi

này là dành cho Bash nói chung, không chỉ git Thông tin thêm về quote điên loạn ở đây:. How to escape single-quotes within single-quoted strings?