undo submodule,使其成为github存储库

时间:2018-04-30 20:51:42

标签: git github git-submodules git-add

我从github克隆了一个存储库,我想把它作为另一个github存储库中的目录。虽然它被认为是一个子模块(我不希望它是一个子模块,但是一个目录)。 在这个目录中,我有一些脚本,我想在我的github存储库上推送。

当我这样做时:git status我收到此错误消息:

On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

    modified:   my_directory (untracked content)

no changes added to commit (use "git add" and/or "git commit -a")

我试图做git add .; git add my_directory并承诺,但它既没有工作。

我找不到任何.gitignore或.gitmodules ......

编辑

最后我发现如何做我想要的,我不得不删除我目录中的.git。虽然这是一个看不见的文件...... 完成此操作后,我只需执行git commit -a然后git push

1 个答案:

答案 0 :(得分:1)

如果该目录中包含.git/子文件夹,它将充当嵌套的git存储库。

如果您添加该文件夹,实际上只是在您的仓库中添加了tree SHA1 (gitlink),而不是文件夹内容。

撤消:

git rm --cached my_directory

(非常重要:没有尾部斜杠:您要删除条目,而不是文件夹内容)

如果您不关心内容的历史记录,请删除my_directory/.git

然后你可以照常添加,提交和推送:该文件夹将是一个普通文件夹。