如何让git添加代码而不将其识别为子模块?

时间:2019-04-05 19:06:08

标签: git github repo

我有两个文件,分别在两个单独的git repos中说FrontEnd和BackEnd。

我想将它们合并到一个存储库中,然后将其复制粘贴到一个全新的存储库中。

我收到此错误:

hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint: 
hint:   git submodule add <url> BackEnd
hint: 
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint: 
hint:   git rm --cached BackEnd
hint: 
hint: See "git help submodule" for more information.

后端文件没有上传。

  1. 如何按原样上传(丢失所有先前的更改)
  2. 与使用子模块相比,优缺点是什么?

2 个答案:

答案 0 :(得分:0)

  

如何按原样上传(丢失所有先前的更改)

使用复制命令创建一个子目录。摆脱.git

  

与使用子模块相比,优缺点是什么?

子模块在一个屋顶下封装了多个git目录,并跟踪所有目录。 Git提供了在多个子模块上工作的多种功能和限定符。您可以通过这种方式保留后端的历史记录。但是,对于许多子模块,使用这些功能可能会出现问题。有其他选择,例如“ subtree”或“ subrepo”。

答案 1 :(得分:0)

问题:您已将目录B移到外部目录A中。这两个存储库都是git模块,因此会出现错误。

解决方案

A中,键入:

git rm -r --cached B
git push
git add B