2017-05-04 69 views
0

我試圖提交一些文件到Github,GitHub Pages分支。作爲迴應,在列出我的根目錄中的每個文件夾之後,它聲明「沒有添加提交但沒有未跟蹤的文件」。我的項目位於我的「文檔」文件夾內的文件夾內。有誰知道爲什麼會發生這種情況?Git - 「沒有添加提交但未跟蹤的文件存在」在列出每個文件後根

On branch gh-pages 
Untracked files: 
    ../../.atom/ 
    ../../.bash_history 
    ../../.gimp-2.8/ 
    ../../.gitconfig 
    ../../.gradle/ 
    ../../.idlerc/ 
    ../../.jssc/ 
    ../../.mongorc.js 
    ../../.node_repl_history 
    ../../.oracle_jre_usage/ 
    ../../.ssh/ 
    ../../.thumbnails/ 
    ../../.vim/ 
    ../../.viminfo 
    ../../AppData/ 
    ../../Contacts/ 
    ../../Desktop/ 
    ../Thumbs.db 
    ../desktop.ini 
    ../forge.aup 
    ../hp.system.package.metadata/ 
    ../../Downloads/ 
    ../../Dropbox/ 
    ../../Favorites/ 
    ../../Helper/ 
    ../../IntelGraphicsProfiles/ 
    ../../Links/ 
    ../../MongoDB/ 
    ../../Music/ 
    ../../OneDrive/ 
    ../../Pictures/ 
    ../../Saved Games/ 
    ../../Searches/ 
    ../../Videos/ 
    nothing added to commit but untracked files present 
+0

你能告訴我們完整的錯誤信息並嘗試解釋你的設置嗎? – pentix

+0

Git只告訴你這些_directories_中有未跟蹤的_files_,並且在那些相同的目錄中,沒有一個已經被跟蹤的文件。 – eftshift0

+0

我最好的猜測是,由於錯誤(例如Windows資源管理器中的意外拖放),您將'.git'目錄提升了兩級。 – axiac

回答

0

「沒有添加到提交」消息是指已添加的空目錄。 GIT管理文件的版本,而不是目錄。當你在其中一個目錄中添加一個文件時,你會看到它們被列爲「新文件:...」。 「未存在的未跟蹤文件」指的是「../Thumbs.db」,其中git add尚未運行。 GIT不會「跟蹤」文件,除非它們已被「添加」到GIT維護的索引中。

-1

如果你想提交的所有文件,請嘗試以下命令

git add ../../. 

git commit -m "commit message" 

根據你的問題,你可能會在回購路徑的二級子目錄和執行Git命令

這是很好初始化項目存儲庫,所以從根目錄中刪除.git文件夾,並將目錄更改爲項目路徑和初始化git回購git init,謝謝@MarkAdelsberger

+0

當他聲稱他正在項目目錄中工作時,如何提交他的整個文件系統向OP提供建議可能不是正確的做法。 –

+0

@MarkAdelsberger更好地刪除根目錄下的.git文件夾,並在項目路徑中初始化git repo – Loganathan

1

看來大多數人都錯過了關鍵這裏的問題,所以我會補充一點:

你想知道爲什麼它列出你的項目目錄之外的東西未跟蹤。正如axiac觀察到的,這很可能意味着.git文件夾位於錯誤的位置。 .git文件夾包含所有元數據和特定於回購的配置,以及索引和數據庫的狀態(其中包含版本歷史記錄等)

當您處於給定的工作目錄並且你運行了一個git命令(如果它是一個希望你在repo中的應用程序......這是其中的大多數),它會在該目錄中查找一個.git文件夾;那麼如果它沒有找到它,它會檢查父目錄,依此類推,直到它找到一個或到達文件系統根目錄爲止。如果它找不到一個,它會給出一個錯誤,但是如果它找到一個錯誤,那麼它就會成爲存儲庫默認工作樹的根。 (在某些情況下,此描述不適用,但它應該適用於您的情況。)

因此,可能.git/是錯誤的地方。但是這引出了另一個問題:爲什麼不認爲你已經刪除了它已經知道的所有內容?

當然,如果這是一個新的回購,你剛剛創建,這將解釋它;但如果是其他任何東西,git應該列出刪除之前提交的任何文件,同樣也是未經追蹤的更改。 (至少,它應該如果你做一個git status

那麼下一步該做什麼。

如果您要創建一個新的回購,這可能是最好的,從你的文件系統的根,cd刪除.git/您項目目錄並重新運行git init

如果這是一個現有的回購,請嘗試運行git status以確認它將所有頂級文件/文件夾的未跟蹤刪除視爲未跟蹤文件。如果是這樣,您當然需要將文件系統根目錄下的.git/移動到項目目錄中。

然後,您應該可以像平常一樣分階段和提交更改。

相關問題