2015-11-13 87 views
7

我正在使用git進行版本控制的共享項目。我在Windows上,而我的合作伙伴在Unix上。Git pull無效的Windows文件名

我的搭檔已經用<file1>.txt命名了一些文件。當我嘗試拉取這些文件時,它們不被接受,因爲<>對於Windows而言是無效字符。這很好,我不需要觸摸這些文件。但是,他們被添加到我的提交作爲刪除。所以,如果我推,那麼我會刪除這些我不想做的文件。

  1. 其認爲對於這些「刪除」的文件路徑無效,我不能使用git reset --hard

  2. 有沒有辦法從我的提交中排除這些文件?我試過將<file1>加入我的.git/info/exclude,但那沒用。

+1

這些文件是如何出現在您的提交?你做過'git commit -a'或'git add .'嗎?你想編輯你的提交,或者你想從索引中刪除這些文件? – Paul

+0

我個人要求使用'git mv'來更改名稱,然後您應該可以執行強制拉取,但這是個人偏好。這是一個簡單的解決方案,因爲它可以讓你編輯這些文件,而不是無法對它們做任何事情。 –

+0

或者,自己動手:使用Cygwin安裝程序安裝'git'軟件包(及其任何必需的依賴項),導航到Cygwin終端的checkout目錄(例如'cd/cygdrive/c/Users/Nryan6/projects/FooBar'),[再次拉(可能覆蓋本地更改;點擊更多信息)](http://stackoverflow.com/a/8888015/539810),'git mv \ .txt file1.txt'對於任何其他文件),並提交和推送。 Cygwin會將U + 003C('<')和U + 003E('>')轉換爲Windows允許的U + F03C和U + F03E,但Cygwin會將它們視爲正常的'<' and '>'字符。 –

回答

1

如果文件已被跟蹤,忽略不起作用。

使用Sparse checkout跳過這些文件。

+1

有沒有人得到這個工作? – mvndaai