目标是提交一个git分支。该分支的“git status”输出为:
On branch zeromq_new
Your branch is up to date with 'origin/zeromq'.
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: log4cplus (modified content, untracked content)
modified: ../lib/notification/cppzmq (modified content)
目录结构如下所示:
HySecureGateway
├──fes
│ └──log4cplus
│ ├──.git
│ ├──.gitattributes
│ ├──.gitignore
│ ├──.gitmodules
│ ├──catch
│ │ ├──.git
│ │ ├──.gitattributes
│ │ ├──.github
│ │ ├──.gitignore
│ │ └──.github
│ │ ├──issue_template.md
│ │ └──pull_request_template.md
│ └──threadpool
│ └──.github
└──lib
└──notification
└──cppzmq
├──.git
└──.gitignore
我在这里读到了对类似问题的回答:
How to track untracked content?,
并且不能完全理解它。另外,logc 4plus/.gitmodules包含以下内容:
[submodule "threadpool"]
path = threadpool
url = https://github.com/log4cplus/ThreadPool.git
[submodule "catch"]
path = catch
url = https://github.com/philsquared/Catch.git
9条答案
按热度按时间ars1skjm1#
我所做的就是跑:
这会告诉git忘记它(因为它被正式跟踪)。
然后我用:
然后我就可以走了。
fgw7neuy2#
从子文件夹中删除
.git
。这对我很有效。ni65a41a3#
解决方案包括从带有“modified content,untracked content”标签的目录中删除
.git/
,从这些目录中删除--cached
文件,然后在这些目录上再次运行git add
。逐步解决方案:
1.从log4cplus和
../lib/notification/cppzmq
中删除.git/
。1.从初始化git仓库的父目录中,运行命令:
1.再次将目录添加并提交到分支。
1.推到你的分支。
0x6upsns4#
由于某种原因,这些单独的回购文件已经改变了文件。有几种方法来处理它,这取决于它们实际上是什么。
你可以导航到每个存储库并查看哪些文件被更改了。然后你可以提交、创建一个新的分支或删除这些更改。
如果这些存储库是单独的项目,您希望跟踪但又不想弄乱它们,那么您可以让父存储库简单地忽略这些子模块中的更改,方法是:
(其中
$DIRECTORY
是要忽略更改的子模块)。hmtdttj45#
我也遇到过这样的问题,确实让我很困扰,我通过运行
git submodule update
解决了。4si2a6ki6#
log 4cplus是您的子模块,它具有已修改和未跟踪的内容。
现在你应该可以将提交从子模块更新到主仓库或外部仓库了。请注意,删除子模块中的.git文件并不是一个解决方案。
neekobn87#
这里发生的是,你在你的根文件夹文件夹,你想把你所有的子文件夹推到git仓库。所以一个git文件被创建。如果你得到一个不可跟踪的文件错误,原因是你的子目录中也有一个git仓库。你可以通过命令----〉rmdir -Force -Recurse从不可跟踪的文件夹删除git仓库。git此命令将删除您的untracebale或untracked目录中的本地git存储库,然后再次转到您的根文件夹并键入相同的命令。重新初始化git存储库并完成!!!
xggvc2p68#
我解决了这个问题,在子文件夹中移动,这是什么不跟踪和运行
这些命令:git add . git commit -m“我的提交”
然后返回到主文件夹并再次运行这些命令
vvppvyoh9#
我已经关闭了编辑器(Visual Studio),并输入了常用命令:
git add .
git commit -m "Comment text"
git push -u origin master
这对我很有效。