从父Repo中的子目录创建Git Repo

从父Repo中的子目录创建Git Repo,git,Git,如果我在一个目录上有一个Git repo,比如说/app1,是否可以在一个目录/app1/framework上创建一个子repo,基本上我希望将框架保持在父目录内,但是我希望能够只克隆framework的内容,我假设您不打算在子repo中也在父repo中添加文件-这可能是个坏主意(尽管可能) 是的,您可以在另一个回购协议下创建回购协议,通常将其用作 . 一般来说,我找到了一个完整而友好的来源 如果这看起来势不可挡,这里有一个简短的总结:。您将在实践中使用的额外命令: git submodule

如果我在一个目录上有一个Git repo,比如说
/app1
,是否可以在一个目录
/app1/framework
上创建一个子repo,基本上我希望将框架保持在父目录内,但是我希望能够只克隆
framework

的内容,我假设您不打算在子repo中也在父repo中添加文件-这可能是个坏主意(尽管可能)

是的,您可以在另一个回购协议下创建回购协议,通常将其用作 . 一般来说,我找到了一个完整而友好的来源

如果这看起来势不可挡,这里有一个简短的总结:。您将在实践中使用的额外命令:

git submodule add pathto/subrepo        # to add/link a subrepo(app1/framework to parent one /app1, the first time
git submodule update  [--init]          # if parent repo is shared(clone), where someone else added a submodule [--init: first time after the clone]
git commit                              # an extra commit on parent repo to record the changes in the subrepo

哇,太复杂了。我试着创建一个新目录
/framework
,然后用符号链接到
/apps1/framework
,但这不起作用,因为该目录已经在源代码管理下。如果事情可以这么简单,在中可能会很简单:)也许您会发现让人困惑的是我第一次链接的手册页中的代码片段-但这些不仅仅是子模块特定的命令,它们是从头开始的完整可运行演示。。刚刚又添加了两个可能会澄清问题的链接。。但是是的,理解整个故事确实需要一些努力,而且额外的复杂性并非没有目的。