2016-08-02 76 views
0

我有一个git项目,有一个超级项目(我们称之为suppy)和一个子项目(我们称之为subby)。项目的分支如下所示。Git子模块阻止结帐(工作目录是干净的)?

suppy 
    -master 
    -other 

subby 
    -master 

目录结构:

suppy 
    subby 

目前我在分支other,一个我想签回suppymaster。当我尝试时,我得到一个git错误,指出子模块中的所有文件都是未跟踪的工作树文件,并且会被checkout覆盖。我如何解决这个问题,subby的文件不会阻挡我到suppy的主人的路径?

我在suppy,并运行git状态返回“没有提交,工作目录干净”。这是怎么回事?

+0

你可以验证你是否在正确的存储库? :s –

+0

@ e.doroskevic我该怎么做? – user2740614

+0

检查你在哪个目录 –

回答

1

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

它在子模块中造成了一些混乱,但是从上游拉取,多个子模块更新,在某些子模块文件夹上的签出以及仅仅擦除一些有问题的子模块文件夹的组合,我能够使我的主分支清洁。