Git子模块阻止结账(工作目录是干净的)?

时间:2016-08-02 23:24:16

标签: git git-submodules

我有一个git项目,有一个超级项目(我们称之为suppy)和一个子项目(我们称之为subby)。该项目的分支见下文。

suppy
    -master
    -other

subby
    -master

目录结构是:

suppy
    subby

我目前正在分行other,我想结帐回suppy的{​​{1}}。当我尝试时,我得到一个git错误,说子模块中的所有文件都是未跟踪的工作树文件,并且会被checkout覆盖。如何解决此问题,以便master的文件不会阻挡我subby主人的路径?

我在支持,并且运行git status会返回“没有提交,工作目录清理”。发生了什么事?

1 个答案:

答案 0 :(得分:1)

我有同样的问题,并找到了摆脱它的方法。我做了git checkout -f master。然而,起初它抱怨我已经更改但之前已经运行git update-index --assume-unchanged [filename]的文件。所以我对这个文件进行了结账,然后终于可以通过checkout -f master结账到主分支。

它在子模块中造成了一些混乱,但结合了上游的拉动,多个子模块更新,某些子模块文件夹上的检出以及简单地删除了一些违规的子模块文件夹,我能够让我的主分支清理。