使用 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'])
我有一个嵌套的 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'])