github更改未为提交而暂存
我有一个非常基本的github设置,其中包含一个自述文件、一个目录和另一个包含html文件的目录。在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
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”
)命令
==不要使用此命令==它将永久删除子模块存储库历史记录(git的目的)sudo rm-Rf.git
==添加了未跟踪的文件,但未修复问题git add-A
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>