Git如何放弃对子模块的更改

时间:2019-01-05 15:44:31

标签: git

我在git存储库X中做了一些工作,该存储库具有一个子模块Y。我对X中要保留的文件做了一些更改,并且对子模块Y进行了更改,现在我想将其丢弃。因此,我想放弃对子模块所做的所有本地更改。

我尝试了cross-env HOST=0.0.0.0 PORT=3000 nuxt start ,但没有任何改变。

Git状态说:

git checkout -- ../dep/libY

3 个答案:

答案 0 :(得分:1)

如果要撤消更改,请使用git checkout子模块

git checkout dep/libY

OR

转到文件夹(要还原其所有更改)并执行

git checkout ./ 

答案 1 :(得分:0)

子模块 Git存储库。因此,您可以cd进入子模块,并使用git reset --hard放弃在其他Git存储库的工作树和索引中完成的工作。 (如果需要,请确保首先在该工作树中运行git status和其他Git命令,以确保您确实要丢弃任何文件。)

答案 2 :(得分:0)

在您检出的目录中执行此命令,该命令会将在该子目录中更改的文件重置为HEAD版本(简而言之,它将丢弃该子模块/子目录中您未提交的更改)

git checkout HEAD -- path/to/submodule

在您的情况下,命令为:

git checkout HEAD -- ../dep/libY