A不会在目录中添加所有已修改的文件

我想要添加所有文件,不管它是否被删除,创建,修改,未跟踪等等? 我只是不想与git添加所有我的文件每次 。 我试过git add -A但它不是在文件夹中添加修改过的文件。

这是我在项目中的初始git status

Rakib-MacBook-Pro:my-xcode-practice rakib$ 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:   BankAccount (modified content, untracked content)
#   modified:   BuckysButtons (modified content, untracked content)
#   modified:   multiview (modified content, untracked content)
#   modified:   rotator (modified content, untracked content)
#   modified:   segmentedControls (modified content, untracked content)
#
no changes added to commit (use "git add" and/or "git commit -a")

然后我把git add -A

Rakib-MacBook-Pro:my-xcode-practice rakib$ git add -A

然后这里是在执行git add -A 之后的新状态:

Rakib-MacBook-Pro:my-xcode-practice rakib$ 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:   BankAccount (modified content, untracked content)
#   modified:   BuckysButtons (modified content, untracked content)
#   modified:   multiview (modified content, untracked content)
#   modified:   rotator (modified content, untracked content)
#   modified:   segmentedControls (modified content, untracked content)
#
no changes added to commit (use "git add" and/or "git commit -a")

你可以看到git status没有变化。 我该如何解决这个问题?

我也试过git add . - 它没有帮助

我也试过git add * - 它没有帮助


这里的问题在于BankAccountBuckysButtonsmultiviewrotatorsegmentedControls都是git子模块,它们在很多方面都像独立存储库一样工作。

如果你想要做的是运行git add -A . 在每个子模块中,你可以这样做:

git submodule foreach --recursive git add -A .

然后你可以在每个子模块中创建一个提交:

git submodule foreach --recursive "git commit -m 'Committing in a submodule'"

(如果您没有其他子模块嵌套在这些子模块中,则不需要--recursive选项。)

不过 ,我不建议这样做。 您应该小心地依次更改为每个子模块,并考虑如何更新它们,将每个子模块视为独立存储库。 然后,当您测试整个项目与每个子模块的新版本一起工作时,只需在主项目中提交这些新的子模块版本。


更新:从错误消息看来,您已经在下面的评论中引用了您已经直接添加了这些其他git存储库而不是子模块。 如果您将另一个git存储库复制到存储库中,然后仅使用git add将其git submodule add <REPOSITORY-URL> ,而不是使用git submodule add <REPOSITORY-URL>添加它,就会发生这种情况。 如果你真的打算将它们存储为子模块,我建议将它们移出存储库,提交它们的删除,然后将它们作为子模块与git submodule add


我只是偶然重新创建了这个。

我将另一个文件夹中的项目复制到了我的新git仓库中。 我不打算把它作为一个子模块,我打算用它作为新项目的起点。 我拷贝的这个项目现在是我主要的git repo的一个子文件夹,它里面有.git/ 。 删除subfolder/.git/

rm -rf subfolder/.git

然后,事情仍然很奇怪...

git status

没什么可提交的。 嗯...所有这些文件呢?

我真的不知道如何用git正确地解决这个问题,所以我复制了目录,并删除了原文。

cp subfolder newsubfolder    
rm -rf subfolder

然后我添加了所有更改的文件,提交并推送。

git add -A
git commit -am 'i did something and there are now files'
git push origin <branchName>

我通过删除假设的子模块内部和项目根目录内的.git文件夹,然后执行一个新的'git init'来解决这个问题。

链接地址: http://www.djcxy.com/p/7905.html

上一篇: A is not adding all modified files in directories

下一篇: Adding Only Untracked Files