Git 为什么它不让我提交我的子模块?

Git 为什么它不让我提交我的子模块?,git,Git,所以我最近做了: git submodule foreach git submodule foreach git pull origin master 我得到了一个巨大的输出,因为它拉和更新这些子模块的最新和最伟大的。然后我做了: vagrant@vagrantpress:/vagrant/Freya-Vagrant$ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not

所以我最近做了:

git submodule foreach git submodule foreach git pull origin master
我得到了一个巨大的输出,因为它拉和更新这些子模块的最新和最伟大的。然后我做了:

vagrant@vagrantpress:/vagrant/Freya-Vagrant$ git status
On branch master
Your branch is up-to-date with 'origin/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:   local-dev/content/mu-plugins/Freya-MU (modified content)
        modified:   local-dev/content/themes/freya-theme (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
vagrant@vagrantpress:/vagrant/Freya-Vagrant$ git commit -a
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
        modified:   local-dev/content/mu-plugins/Freya-MU (modified content)
        modified:   local-dev/content/themes/freya-theme (modified content)

no changes added to commit
vagrant@vagrantpress:/vagrant/Freya-Vagrant$ git add -A
vagrant@vagrantpress:/vagrant/Freya-Vagrant$ git commit -a
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
        modified:   local-dev/content/mu-plugins/Freya-MU (modified content)
        modified:   local-dev/content/themes/freya-theme (modified content)

no changes added to commit
vagrant@vagrantpress:/vagrant/Freya-Vagrant$
vagrant@vagrantpress:/vagrant/Freya vagrant$git状态
论分行行长
您的分支机构是最新的“原始/主”分支机构。
未为提交而暂存的更改:
(使用“git add…”更新将提交的内容)
(使用“git签出--…”放弃工作目录中的更改)
(提交或放弃子模块中未跟踪或修改的内容)
修改:本地dev/content/mu插件/freyamu(修改内容)
修改:本地开发/content/themes/freya主题(修改内容)
未向提交添加任何更改(使用“git add”和/或“git commit-a”)
vagrant@vagrantpress:/vagrant/Freya vagrant$git commit-a
论分行行长
您的分支机构是最新的“原始/主”分支机构。
未为提交而暂存的更改:
修改:本地dev/content/mu插件/freyamu(修改内容)
修改:本地开发/content/themes/freya主题(修改内容)
没有添加要提交的更改
vagrant@vagrantpress:/vagrant/Freya vagrant$git add-A
vagrant@vagrantpress:/vagrant/Freya vagrant$git commit-a
论分行行长
您的分支机构是最新的“原始/主”分支机构。
未为提交而暂存的更改:
修改:本地dev/content/mu插件/freyamu(修改内容)
修改:本地开发/content/themes/freya主题(修改内容)
没有添加要提交的更改
vagrant@vagrantpress:/vagrant/Freya vagrant$

但正如你所看到的,它不会提交它们,因为显然没有变化?我不明白这里到底发生了什么?

这是因为更改发生在git子模块项目中,而不是根项目中

根据上的文档,您可能希望执行以下操作:

cd local-dev/content/mu-plugins/Freya-MU
git checkout master # or some other branch
git submodule update --remote --merge

# make edits, e.g.:
vi README.md 
git commit -m "test" README.md

git submodule update --remote --rebase
git push --recurse-submodules=check  # follow the output from this command

这是因为更改发生在git子模块项目中,而不是根项目中

根据上的文档,您可能希望执行以下操作:

cd local-dev/content/mu-plugins/Freya-MU
git checkout master # or some other branch
git submodule update --remote --merge

# make edits, e.g.:
vi README.md 
git commit -m "test" README.md

git submodule update --remote --rebase
git push --recurse-submodules=check  # follow the output from this command

一般来说,我个人认为使用git子模块通常不是最好的方法。我对wordpress不太了解,但大概有办法配置插件/主题/任何东西,让它管理这些依赖项的引入?为了便于开发,您可能仍然希望引用本地(单个)git项目-不知道这是否可行。作为一般性评论,我个人认为使用git子模块通常不是最好的方法。我对wordpress不太了解,但大概有办法配置插件/主题/任何东西,让它管理这些依赖项的引入?为了便于开发,您可能仍然希望引用本地(单个)git项目——不知道这是否可行。