我有一个非常基本的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")
我觉得如果我要加入所有这些都不应该是一个问题。有什么帮助吗?
答案 0 :(得分:64)
答案 1 :(得分:36)
我认为您必须进入 week1 文件夹并删除 .git 文件夹:
sudo rm -Rf .git
然后返回顶级文件夹并执行:
git add .
然后执行提交并推送代码。
答案 2 :(得分:27)
在我的情况下,我需要一个
git add files
git commit -am 'what I changed'
git push
需要提交'a'。
答案 3 :(得分:23)
week1
是子模块吗?
请注意git status
命令输出中的相关部分:
(提交或丢弃子模块中未跟踪或修改的内容)
尝试cd week1
并发出另一个git status
以查看您对week1
子模块所做的更改。
有关子模块如何在Git中工作的详细信息,请参阅http://git-scm.com/book/en/Git-Tools-Submodules。
答案 4 :(得分:8)
在我的情况下,有一个子目录,其中有一个create table Planillas(
IdPlanilla number,
fecha date,
empleado constraint fk1_planillas references empleados,
salario number,
constraint pk_planillas primary key(idplanilla,empleado,fecha))
目录。
我所做的只是从我的子目录中删除.git
目录。
答案 5 :(得分:2)
我遇到了同样的问题。我最终进入了“不进行提交”的子目录,并从那里添加,提交和推送。之后,上升到主目录的一个级别,并能够正确推送。
答案 6 :(得分:2)
如果它是子模块,则需要使用git add进入它。 && git commit -m'您的消息'
您可以从那里CD并推送到所需的任何分支。
答案 7 :(得分:2)
在我的情况下,问题是我要推送的子文件夹是git文件夹本身
所以我做了以下
rm -rf .git
git rm --cached <subfolderName>
git add <folderName>/
git commit -m "Commit message"
git push -f origin <branchName>
答案 8 :(得分:1)
无论我做了什么,我都会收到同样的信息。
为了解决这个问题,我删除了.gitignore,我没有得到Github更改,因为不再提交提交消息了。在我运行git add之前它允许我提交一次。然后它会显示相同的信息。
我不确定为什么.gitignore文件导致了问题,但我在本地计算机上添加了,很可能没有正确同步它。
答案 9 :(得分:1)
对我来说,我必须提交其中包含.git
的子目录,因为父文件夹和子文件夹都有要推送的遥控器。然后提交并推送父目录。
答案 10 :(得分:1)
我尝试了所有关于Stackoverflow的建议。包括-a或-am在内的任何内容均无济于事。
如果您相同,请执行此操作。
所以,问题是,git认为您的某些子目录是根项目中的子项目。至少在我看来,不是那样的。它只是常规子目录。不是单个项目。
移动该常规子目录,该子目录没有被推送到某个临时位置。
从该目录中删除隐藏的.git文件夹。
cd
到根目录。
git init
。
git add .
。
git commit -m "removed notPushableDirectory temporarily"
git push -f origin master
由于git会看到远程git与您的本地结构之间的冲突,因此我们必须强制使用它。记住,我们造成了这种冲突。因此,不必担心强迫它。
现在,它将把该子目录作为子目录推送,而不是作为根模块中的子模块或子项目推送。
答案 11 :(得分:0)
此命令可以解决问题:
git add -A
所有文件和子目录将被添加以进行跟踪。
希望有帮助
答案 12 :(得分:0)
相信会发生这种情况,因为您有一个子存储库“子模块”,该子存储库的更改尚未被暂存和提交。
有一个类似的问题,我的IDE一直报告未提交的更改,并且运行阶段(git add .
)和提交(git commit -m "message"
)命令无效。事后看来,这可能是因为子存储库具有需要暂存和提交的更改,而不是父存储库。
cd
进入子模块(具有一个名为.git
的隐藏文件夹)并执行命令以暂存(git add .
)和提交(git commit -m "Update child repo"
)cd ..
返回到父仓库,并执行命令来暂存(git add .
)和提交(git commit -m "Update parent repo"
)sudo rm -Rf .git
==请勿使用此命令==它将永久删除子模块存储库历史记录(GIT的目的)git add -A
===添加了未跟踪的文件,但没有解决问题