2

我一直在阅读作者指示的一篇文章:在现有存储库中创建一个新存储库,并想知道这是否是他忽略的错误。我稍后会和他核实。

这些是我要检查的条件:

  1. 将现有目录制作成存储库并且已经签入主项目的文件也将签入新(子)存储库的条件。这可能吗?

  2. 首次签入包含 git 存储库的目录树时

  3. 当在存储库下创建一个新的空存储库时,要么通过 git init,要么通过将 .git 存储库复制到新目录或空目录中?

4

2 回答 2

2

正如“ git仓库中的Git仓库”中提到的,嵌套仓库大多被父仓库忽略(只记录了一个gitlink)

因此,对父存储库的任何操作都不会对嵌套存储库产生影响。

如果您将嵌套存储库声明为子模块,那么您可以签出父存储库嵌套存储库,但该子模块将始终引用固定提交。
如果对子模块进行了任何修改,都需要commit,push 然后回到父repo,commit,push(记录子模块新的fixed commit)。
请参阅“子模块的真实性质”。

于 2012-09-24T05:59:17.810 回答
1

如果你想这样做,如果你想拥有嵌套的存储库,你应该使用子模块。顶级存储库将跟踪所有子存储库的最新提交,在它们内部,事情可以如你所愿。如果没有这个,git 将以未记录和不受支持的方式运行,因此您可能不应该尝试它。

于 2012-09-24T05:30:04.637 回答