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 *
- 它没有帮助
这里的问题在于BankAccount
, BuckysButtons
, multiview
, rotator
和segmentedControls
都是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