git 如何同步本地仓库,以便擦除不在远程的任何本地子模块?

7hiiyaii  于 2023-05-15  发布在  Git
关注(0)|答案(1)|浏览(146)

假设您有一个本地仓库,并希望它与远程仓库中的最后一次提交完全相同。
这些是我输入的步骤,以实现这一点:

cd <main repo>
git clean -fxd       (clean all untracked files that aren't submodules)
git submodule foreach git clean -fxd     (clean all untracked files in submodules)
git reset --hard             (clean all uncommited changes in our main repo)
git submodule foreach git reset --hard    (clean all uncommited changes in submodules)

git submodule update --init --recursive         (update all submodules with one on remote repo)

问题是,这些不会删除任何额外的子模块,这些子模块在我的本地仓库中,但不在远程仓库中。
任何有助于改进我的一系列步骤将不胜感激。

tcbh2hod

tcbh2hod1#

从文档:
如果Git配置变量clean.requireForce没有设置为false,git clean将拒绝删除文件或目录,除非指定了-f-iGit将拒绝修改未跟踪的嵌套git仓库(包含.git子目录的目录),除非提供第二个-f
所以git clean -dffx

相关问题