假设您有一个本地仓库,并希望它与远程仓库中的最后一次提交完全相同。
这些是我输入的步骤,以实现这一点:
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)
问题是,这些不会删除任何额外的子模块,这些子模块在我的本地仓库中,但不在远程仓库中。
任何有助于改进我的一系列步骤将不胜感激。
1条答案
按热度按时间tcbh2hod1#
从文档:
如果Git配置变量
clean.requireForce
没有设置为false,git clean将拒绝删除文件或目录,除非指定了-f
或-i
。Git将拒绝修改未跟踪的嵌套git仓库(包含.git子目录的目录),除非提供第二个-f
。所以
git clean -dffx