使用 cookiecutter 创建一个 git 版本控制的项目

Create a git versioned project with cookiecutter

我有一个嵌套的 git 存储库结构,如下所示:

outer_repository/
|-- outer_dummy_file
|-- .git 
`-- inner_repository
    |-- .git
    `-- inner_dummy_file

是否可以使用外部存储库制作 inner_repository/.git 版本?

动机:

我正在使用 cookiecutter 为新项目构建结构。每个新开始的项目都会有一组预定义的文件和工具作为开始。如果要使用 git 对新项目进行版本控制并进行初始提交,则自动版本控制系统的要求之一。 inner_repository 是新项目的结构。

只需创建一个版本化的模板项目(带有初始文件等),然后让新项目成为模板项目的分支?对 .git 内容进行版本控制听起来不是个好主意。

无需进行 git 杂技表演即可实现此目的。 Cookiecutter 提供了 运行 post generation hooks 的选项。这允许在项目创建时创建 git 存储库。

我在我的 cookiecutter 存储库中添加了以下内容:

hooks/
`-- post_gen_project.py

其中 post_gen_project.py 是:

import subprocess

subprocess.call(['git', 'init'])
subprocess.call(['git', 'add', '*'])
subprocess.call(['git', 'commit', '-m', 'Initial commit'])