我已經通過關注this tutorial將SVN存儲庫轉換爲Git。現在似乎無法提取像this answer中建議的子存儲庫。Git不會恢復或提交它認爲被修改的文件
原諒長文章,但大部分文本是格式良好的git輸出。
操作系統:Windows 8 命令行:MinGW的 Git版本:1.8.1.msysgit.1
中提取subrepository似乎並沒有工作,除非你有一個乾淨的臨時區域和沒有修改的過程文件。
git status
告訴我,我有一個修改過的文件,即使這是一個新鮮的SVN導入。好的,讓我們試着擺脫它。
嘗試並恢復文件。
user$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: folder with space/folder/toolbar.png
#
no changes added to commit (use "git add" and/or "git commit -a")
user$ git checkout -- "folder with space/folder/toolbar.png"
user$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: folder with space/folder/toolbar.png
#
no changes added to commit (use "git add" and/or "git commit -a")
這並沒有奏效,但我並不在乎是否提交,所以我會嘗試下一步。
user$ git commit -a -m "Testing if committing fixes it"
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: folder with space/folder/toolbar.png
#
no changes added to commit (use "git add" and/or "git commit -a")
user$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: folder with space/folder/toolbar.png
#
no changes added to commit (use "git add" and/or "git commit -a")
通過跳過暫存提交不起作用,所以讓我們先嚐試着手。
user$ git add "folder with space/folder/toolbar.png"
user$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: folder with space/folder/toolbar.png
#
no changes added to commit (use "git add" and/or "git commit -a")
無法正常工作,所以我很難過...去問一個更聰明的人。
我是git的新手,但很熟悉汞,並且已經閱讀this online tutorial以啓動自己。
我完全有可能搞砸了一個簡單的命令。
已經嘗試過: 我環顧四周,解決我的具體問題,但有一點運氣。我偶然發現了this answer這似乎相關,但不能解決我的問題。
編輯:可能有趣的事 這是讓我困惑的部分。前段時間我推出了這個回購協議進入在線資源庫。新鮮的克隆後,回購仍然認爲文件被修改(即git status
返回相同的結果,我已經設置git config --global core.autocrlf false
並驗證通過運行git config --global core.autocrlf
確實返回false)。
編輯2:解決發現的,但問題仍然沒有完全理解 我已經成功通過簡單地從系統中,臨時區域刪除文件,然後提交更改修復庫。 之後,我將文件複製回來並將其提交到存儲庫。
問題雖然固定,但只會讓我更困惑。
當我玩弄移除文件時,我注意到如果我重置版本庫到最後一次提交已刪除文件的HEAD,git status將表示沒有任何更改,並且該文件未被跟蹤,但是文件將被恢復在我的工作樹。這是奇怪的,因爲它被標記爲在git中被刪除...
只有在第二次刪除它後,即使git不再記住它,我是否設法實際刪除它,以便git reset
和git reset --hard
不會恢復該文件。
如果有人能請解釋我是如何陷入這種狀態下,如果是在Git中或正常行爲的錯誤我將不勝感激。
我suspitions 我已經失去了我使用,但發生了什麼事去像這樣的命令序列: 該文件是Images/toolbar.png
,我已經航行到Images
文件夾。
之後我刪除它從文件系統Git的檢測,像這樣的變化:
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: toolbar.png
# deleted: ../images/toolbar.png
#
注意一個事實,即images
文件夾不大寫!這是在Windows中運行,忽略路徑情況。我懷疑這可能是問題的一部分...
我真的很困惑,但我的問題了。所以這篇文章只是作爲一種好奇心,儘管我無法複製它在某處從SVN轉換中的行爲。
看起來好像git可能沒有正確處理你的文件。是否有可能嘗試刪除文件夾名稱中的空格,並查看是否可以修復它? – Devin 2013-04-11 04:24:05
可能是的,簡單不...我會嘗試。 – nonsensickle 2013-04-11 04:27:46
現在,我試圖拉一個乾淨的存儲庫,但我懷疑這不會幫助。在嘗試完成後,我會嘗試刪除空間,但版本庫不小。另外,爲什麼git會遇到路徑中的空間問題? – nonsensickle 2013-04-11 04:42:47