有没有办法在git中临时覆盖属性,类似于-c
可以用来覆盖配置选项的方式?
我想使用特定的自定义textconv
命令调用git diff
,而不是我通常使用的那个。
为了更具体地说明:我的实际用例是在vim中使用jupytext.vim
插件编辑Jupyter笔记本。
我的正常~/.gitconfig
包含:
[diff "jupyternotebook"]
command = git-nbdiffdriver diff
在编程方面,您需要设置nbdime
作为差异驱动程序,然后在~/.gitattributes
中:
*.ipynb diff=jupyternotebook
现在我想要有
[diff "jupytext"]
textconv = jupytext --from=ipynb --to=md -o - <
在git配置中添加
(或类似内容),并使git diff
表现得像
*.ipynb diff=jupytext
这个在.gitattributes里。
如果通过命令行选项传递,我可以考虑将 [diff "jupytext"]
部分永久添加到我的 ~/.gitconfig
。但是,使用“jupytext”驱动程序而不是默认的“jupyternotebook”必须是临时的。
或者,我可以使用一个命令行选项来强制 git diff
使用另一个 ~/.gitattributes
文件,该文件优先于所有其他 .gitattributes
文件(例如在同一目录中)。
最终,这个命令行选项旨在进入 vim-gitgutter
的 g:gitgutter_diff_args
设置。我想强制插件以与我通常希望使用 nbdime
转换 *.ipynb 文件不同的方式进行转换。
diff.jupyternotebook.command
配置呢? - jthillgit -c diff.jupytext.command='jupytext --from=ipynb --to=md -o - <' diff
这个怎么样? - ElpieKay.gitattributes
设置感兴趣。 - Michael Goerz