使用本地更改更新 Git 子模块
Updating a Git Submodule With Local Changes
我的一个项目中有一个 Git 子模块,我正在尝试在我进行了一些更改的本地副本上更新它。我希望遥控器覆盖我的本地更改,但是当我尝试以下命令时,没有任何反应,我仍然看到我的本地更改。
joesan@joesan-S-14-v5:~/Projects/Private/github-docs/joesan-me/themes/hugo-clarity$ git status
HEAD detached at d5800ff
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: exampleSite/config/_default/params.toml
no changes added to commit (use "git add" and/or "git commit -a")
joesan@joesan-S-14-v5:~/Projects/Private/github-docs/joesan-me/themes/hugo-clarity$
我哪里做错了?
正如@torek 评论所说,git status
是 仅向您显示 git 存储库 的当前状态。它不会做任何事情。
当你在 super repo root 时,你不能简单地使用 git reset --hard
。您应该在 reset
、checkout
或 restore
.
之前 cd
进入子模块
所以:
cd path/to/submodule
git reset --hard # or git restore .
如果子模块很多或者你不想cd
进去,你可以使用:
git submodule foreach git reset --hard
但这会影响超级仓库下的所有子模块,请注意!
我的一个项目中有一个 Git 子模块,我正在尝试在我进行了一些更改的本地副本上更新它。我希望遥控器覆盖我的本地更改,但是当我尝试以下命令时,没有任何反应,我仍然看到我的本地更改。
joesan@joesan-S-14-v5:~/Projects/Private/github-docs/joesan-me/themes/hugo-clarity$ git status
HEAD detached at d5800ff
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: exampleSite/config/_default/params.toml
no changes added to commit (use "git add" and/or "git commit -a")
joesan@joesan-S-14-v5:~/Projects/Private/github-docs/joesan-me/themes/hugo-clarity$
我哪里做错了?
正如@torek 评论所说,git status
是 仅向您显示 git 存储库 的当前状态。它不会做任何事情。
当你在 super repo root 时,你不能简单地使用 git reset --hard
。您应该在 reset
、checkout
或 restore
.
cd
进入子模块
所以:
cd path/to/submodule
git reset --hard # or git restore .
如果子模块很多或者你不想cd
进去,你可以使用:
git submodule foreach git reset --hard
但这会影响超级仓库下的所有子模块,请注意!