繁体   English   中英

Git-列出根目录中的每个文件后,“没有添加任何内容来提交但存在未跟踪的文件”

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM