Visual Studio想要删除git子树

时间:2015-06-07 19:00:48

标签: git visual-studio-2013

我有一个带有

添加的子树的git存储库
git subtree add --prefix Agate git@github.com:eylvisaker/AgateLib.git master

问题是Visual Studio想要删除所有这些文件。如果我继续提交,则将删除所有这些文件,并从repo中删除子树。但是,git status显示nothing to commit, working directory clean。 SourceTree还显示工作副本中没有编辑任何内容。如果我允许VS提交已删除的文件,则会从repo中删除它们。我可以重新添加子树,但VS仍然想删除它。

Visual Studio marks files as to-delete

我正在使用Visual Studio 2013及其内置的git支持。从子模块切换到使用子树后发生这种情况。我不认为这是相关的,但也许我错了。我的.git / config列在下面。我没有看到任何与众不同的东西。

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = c:/devel/Games/Zodiac/zodiac-test
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

如何让Visual Studio不想删除这些文件,而只是允许我编辑/提交它们就像它们是这个存储库的一部分一样,因为git子树应该允许我这样做?

1 个答案:

答案 0 :(得分:1)

看起来我使用子模块时的.gitmodules遗留下来,导致问题。执行git rm .gitmodules解决了问题。 Visual Studio立即注意到了这一变化,并决定不再删除我的子树。