github更改未为提交而暂存

github更改未为提交而暂存,git,github,Git,Github,我有一个非常基本的github设置,其中包含一个自述文件、一个目录和另一个包含html文件的目录。在github上,我只能查看自述文件和第一个文件夹,但不能查看其中的任何内容,我收到了这条消息 tc349 ryntc3$ git add * tc349 ryntc3$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be co

我有一个非常基本的github设置,其中包含一个自述文件、一个目录和另一个包含html文件的目录。在github上,我只能查看自述文件和第一个文件夹,但不能查看其中的任何内容,我收到了这条消息

tc349 ryntc3$ git add *
tc349 ryntc3$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules) 

modified:   week1 (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
tc349 ryntc3$git add*
tc349 ryntc3$git状态
论分行行长
未为提交而暂存的更改:
(使用“git add…”更新将提交的内容)
(使用“git签出--…”放弃工作目录中的更改)
(提交或放弃子模块中未跟踪或修改的内容)
修改:第1周(修改内容)
未向提交添加任何更改(使用“git add”和/或“git commit-a”)
我觉得如果我把所有的东西都放在舞台上,那就不应该是个问题。有什么帮助吗?

你试过了吗

git add .
这会递归到子目录中,而我认为*不会


参见

是否为
week1
子模块

注意
git status
命令输出的相关部分:

(提交或放弃子模块中未跟踪或修改的内容)

尝试
cd week1
并发布另一个
git status
,查看您对
week1
子模块所做的更改


有关子模块如何在Git中工作的更多信息,请参阅。

警告这将删除子模块的整个GIT历史记录。仅当意外创建子模块时才执行此操作。在大多数情况下,当然不是你想做的

我认为您必须进入week1文件夹并删除.git文件夹:

sudo rm -Rf .git
然后返回顶层文件夹并执行以下操作:

git add .

然后执行提交并推送代码。

无论我做了什么,我总是收到相同的消息

为了解决这个问题,我删除了.gitignore,我不再得到Github更改,不再为提交消息进行暂存。在它允许我在运行git add时提交一次之前。然后,它会带来同样的信息

我不知道为什么.gitignore文件会导致问题,但我在本地计算机上添加了,很可能没有正确同步它。

在我的情况下,我需要一个

 git add files
 git commit -am 'what I changed'
 git push

提交时需要“a”。

对于我来说,我必须提交包含
.git
的子目录,因为父文件夹和子文件夹都有要推送到的远程目录。然后提交并推送父目录。

我也遇到了同样的问题。最后,我进入了一个子目录,该子目录是“不准备提交的”,并从那里添加、提交和推送。在那之后,上升一级到主目录,并且能够正确地推送

警告这将删除子模块的整个GIT历史记录。仅当意外创建子模块时才执行此操作。在大多数情况下,当然不是你想做的

在我的情况下,有一个子目录有一个
.git
目录


我所做的只是从我的子目录中删除
.git
目录。

我尝试了所有建议。包括-a或-am或任何有帮助的东西

如果你是一样的,就这样做

所以,问题是,git认为您的一些子目录是根项目中的子项目。至少,我的情况不是这样的。它只是普通的子目录。不是单个项目

移动没有被推送到某个临时位置的常规子目录

从该目录中删除隐藏的.git文件夹

cd
到根目录

git init
再次

git add.
再次

git commit-m“暂时删除notpushableditory”

git-push-f原始主机

我们将不得不强制它,因为git将看到远程git和本地结构之间的冲突。记住,我们制造了这场冲突。所以,不要担心强迫它


现在,它会将该子目录作为子目录推送,而不是作为根项目中的子模块或子项目。

此命令可能会解决以下问题:

git添加-A

所有文件和子目录都将被添加以进行跟踪


希望它能有所帮助

如果它是一个子模块,您需要将其放入cd,然后使用
git add.&&git commit-m“您的消息”


从那里,您可以将cd取出并推送到您想要的分支。

相信会发生这种情况,因为您有一个子存储库“子模块”,其中包含尚未暂存和提交的更改

我的IDE一直报告未提交的更改,并且运行stage(
git add.
)和commit(
git commit-m“message”
)命令没有任何效果。事后想想,这可能是因为子存储库有需要暂存和提交的更改,而不是父存储库

解决问题的步骤
  • cd
    放入子模块(有一个名为
    .git
    的隐藏文件夹),并执行stage(
    git add.
    )和commit(
    git commit-m“Update child repo”
    )的命令
  • cd..
    返回父repo,并执行stage(
    git add.
    )和commit(
    git commit-m“Update parent repo”
    )命令
  • 没有帮助的建议
    • sudo rm-Rf.git
      ==不要使用此命令==它将永久删除子模块存储库历史记录(git的目的)
    • git add-A
      ==添加了未跟踪的文件,但未修复问题

    在我的例子中,问题是我要推的子文件夹本身就是一个git文件夹

    所以我做了下面的事情

  • 进入要推送的子文件夹并运行以下操作:
  • 然后运行以下命令:
  • git-rm——缓存
    
  • 然后转到主项目文件夹并运行此操作(确保在文件夹名称后添加/之后)
  • git添加/
    git提交-m“提交消息”
    git-push-f原点
    
    th
    rm -rf .git
    
     git rm --cached <subfolderName>
    
        git add <folderName>/
        git commit -m "Commit message"
        git push -f origin <branchName>