我想添加所有文件,无论是什么:是删除,创建,修改,未跟踪等?我只是不想与git添加所有我的文件EVERY TIME.我试过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")
Run Code Online (Sandbox Code Playgroud)
然后我把git add -A:
Rakib-MacBook-Pro:my-xcode-practice rakib$ git add -A
Run Code Online (Sandbox Code Playgroud)
然后这里是新的状态后做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")
Run Code Online (Sandbox Code Playgroud)
你可以看到,没有变化git status.我该如何解决这个问题?
我也尝试过git add .- 它没有帮助
我也尝试过git add *- 它没有帮助
Mar*_*air 48
这里的问题是BankAccount,BuckysButtons,multiview,rotator和segmentedControls都是git的子模块,它像在许多方面独立存储库.
如果你想要做的是git add -A .在每个子模块中运行,你可以这样做:
git submodule foreach --recursive git add -A .
Run Code Online (Sandbox Code Playgroud)
然后你可以在每个子模块中创建一个提交:
git submodule foreach --recursive "git commit -m 'Committing in a submodule'"
Run Code Online (Sandbox Code Playgroud)
(如果您没有嵌套在这些子模块中的其他子模块,则该--recursive选项是不必要的.)
但是,我不建议这样做.您应该依次仔细更改每个子模块,并考虑如何更新它们,将每个子模块视为独立的存储库.然后,当您测试整个项目与每个子模块的新版本一起工作时,只在主项目中提交这些新的子模块版本.
更新: 您在下面的评论中引用的错误消息似乎是您直接添加了这些其他git存储库而不是子模块.如果您将另一个git存储库复制到您的存储库中然后只是用来暂存git add它,而不是添加它,就会发生这种情况git submodule add <REPOSITORY-URL>.如果你真的打算将它们存储为子模块,我建议将它们从存储库中移出,提交删除,然后将它们作为子模块正确添加git submodule add
Pat*_*ott 28
我只是偶然重建了这个.
我将我在另一个文件夹中的项目复制到我的新git仓库中.我不打算将它用作子模块,我打算将它作为新项目的起点.我复制的项目现在是我的主要git仓库的子文件夹.git/.删除subfolder/.git/.
rm -rf subfolder/.git
Run Code Online (Sandbox Code Playgroud)
然后事情仍然很奇怪......
git status
Run Code Online (Sandbox Code Playgroud)
没什么可承诺的.嗯......所有这些文件呢?
我真的不知道如何使用git正确修复此问题,因此我复制了目录,并删除了原始目录.
cp subfolder newsubfolder
rm -rf subfolder
Run Code Online (Sandbox Code Playgroud)
然后我添加了所有已更改的文件,已提交并已推送.
git add -A
git commit -am 'i did something and there are now files'
git push origin <branchName>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67223 次 |
| 最近记录: |