[英]Git - “nothing added to commit but untracked files present” after listing every file in root
我正在嘗試將某些文件提交給Github和GitHub Pages分支。 作為回應,它列出了我根目錄中的每個文件夾后,顯示“沒有添加任何內容,但存在未跟蹤的文件”。 我的項目在我的Documents文件夾內的一個文件夾內。 有誰知道為什么會這樣?
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
似乎大多數人在這里都沒有找到問題的症結所在,所以我要補充一點:
您想知道為什么它會將項目目錄外的內容列出為未跟蹤。 正如axiac所觀察到的,這很可能意味着.git文件夾在錯誤的位置。 .git文件夾包含所有元數據和特定於存儲庫的配置,以及索引和數據庫的狀態(依次包含版本歷史記錄等)。
當您在給定的工作目錄中並運行git命令(如果它是一個希望您位於存儲庫中的命令...多數情況下)時,它將在該目錄中查找.git文件夾; 然后,如果找不到該目錄,則檢查父目錄,依此類推,直到找到一個目錄或到達文件系統根目錄為止。 如果找不到一個,則會報錯,但是如果找到一個,則會將其作為存儲庫默認工作樹的根。 (在某些情況下,此描述不適用,但應適用於您的情況。)
因此, .git/
可能在錯誤的位置。 但這又引發了一個問題:為什么git不認為您已經刪除了它已經知道的所有內容?
當然,如果這是您剛剛創建的新存儲庫,那就可以解釋了。 但是如果還有其他事情,git應該列出從先前提交中刪除的所有文件,以及未跟蹤的更改。 (至少,如果執行git status
,應該會。
那么下一步該怎么做:
如果要創建新的倉庫,最好從文件系統根目錄中刪除.git/
,將其cd
到項目目錄中,然后重新運行git init
如果這是現有的存儲庫,請嘗試運行git status
以確認它將所有未刪除的內容以及所有頂級文件/文件夾都視為未跟蹤的文件。 如果是這樣,您肯定需要將文件系統根目錄中的.git/
移動到項目目錄。
然后,您應該能夠照常上演並提交更改。
“未添加任何內容提交”消息是指已添加的空目錄。 GIT管理文件的版本,而不是目錄。 當您在其中一個目錄中git添加文件時,您會看到它們被列為“新文件:...”。 “存在的未跟蹤文件”是指尚未運行git add的“ ../Thumbs.db”。 除非文件已“添加”到GIT維護的索引中,否則文件不會被GIT“跟蹤”。
如果要提交所有文件,請嘗試以下命令
git add ../../.
git commit -m "commit message"
根據您的問題,您可能在回購路徑的兩個子目錄中並執行git命令
初始化項目存儲庫是很好的,因此從根目錄中刪除.git文件夾,並將目錄更改為項目路徑,然后通過git init
初始化git repo,謝謝@MarkAdelsberger
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.