[英]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.