【发布时间】:2017-12-31 13:29:11
【问题描述】:
长话短说:我们正在使用 Jupyter 笔记本(.ipynb 文件)并设置了 Jupyter 配置以保存 .py 副本(为了更好的 git diffs 目的,this answer on SO)。
所以每次我保存.ipynb 文件时,它都会保存.py 版本,否则文件名相同。如果不存在.py 版本,则会创建一个新版本。
是否可以自动添加/跟踪这些新创建的.py 文件,也许通过在 git 配置中添加一些东西?
编辑
所以这可能使用 git pre-commit 钩子,阅读过它。但是,我真的没有足够的知识从头开始写一个钩子。
重申我想要的:我保存foo_bar.ipynb,自动创建foo_bar.py。如果我愿意,我希望 pre-commit 挂钩添加 foo_bar.py,例如 git commit -a。 强调一下,我不希望它添加任何旧的 .py 文件,只添加与现有 .ipynb 文件具有相同文件名的文件。
【问题讨论】:
-
为了运行预提交钩子,你必须首先提交。
git add .之前git commit应该足够了。 -
@axiac 我不想添加任何旧的
.py文件,只是那些与现有.ipynb文件具有相同文件名的文件 -
无论你想添加什么,Git 自己都不会做任何事情。预提交挂钩作为
git commit命令的一部分运行。必须有人(人或脚本)运行此命令。同一个人或脚本可以在运行git commit之前git add适当的文件。如此简单的任务不需要钩子。更重要的是,如果没有为提交准备任何内容,则没有提交(我认为钩子也不会运行)。
标签: git pre-commit-hook