git文件在.gitignore删除后没有提交

时间:2014-09-15 23:29:44

标签: git

我已经创建了一个新的存储库并提交了所有内容,或者我认为。

我发现样式表目录中有.gitignore。我删除了这个并在项目的根目录下执行了git add .。在stylesheets目录中,我现在有一个.git文件。

当我尝试提交时,我得到了这个:

git commit
    On branch master 
    Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
    modified:   client/stylesheets (modified content)

no changes added to commit

如何在client / stylesheets目录中提交所有内容?

提前感谢任何建议:)

1 个答案:

答案 0 :(得分:1)

看起来你已经有了嵌套的Git存储库。

一般情况下,这是不允许的,尽管有些情况下有意义(例如使用子模块时)。您可能通过在子目录中意外运行git init或克隆到子目录或其他内容而进入此状态。

如果您不想使用子模块,

  1. .git目录或client/目录中查找无关的client/stylesheets目录。这是内部Git存储库;您可能希望在其上运行git log或其他内容,以确保您不需要它。

    如果您确定不需要其历史记录,可以将其删除。

  2. 在主存储库中查找名为.gitmodules的文件。如果找到,请将其删除。

  3. 如果您在上一步中找到.gitmodules文件,请运行git rm --cached client(或client/stylesheets,具体取决于您找到.git目录的位置。)< / p>

  4. 现在您应该能够正常提交目录:

    git add client
    git commit
    

    有关详细信息,请参阅this answer