RStudio 的 README.Rmd 和 README.md 应该同时提交,使用 'git commit --no-verify' 可以覆盖此检查。

11

我正在使用RStudio,其中有一个README.Rmd和一个README.md文件。然而,当我只改变了README.Rmd并想要将其提交和推送到GIT时,出现以下情况:

RStudio README.Rmd 和 README.md 应该都被暂存使用 'git commit --no-verify' 来覆盖此检查

我应该在哪里添加:"git commit --no-verify"?

或者我如何避免这个消息?

2个回答

8

遇到这个问题的人可能想要查看 usethis 包相关问题的讨论。

简而言之,这是由于使用 usethis::use_readme_rmd() 。该函数会在 .git/hooks/pre-commit 中设置一个 pre-commit hook(预提交钩子)。此钩子确保在同时更新 readme.Rmdreadme.md。如果只有一个文件发生更改,则会出现本问题标题中包含的错误信息。

例如,如果您的 readme 包括一些可以作为项目更新重建的汇总统计信息或某些随机数据,则这很可能令人感到烦恼。

暂时的解决方法是按照提示去终端输入:

git commit --no-verify -m "my commit message"

如果您想完全摆脱这种行为,您应该删除 .git/hooks/pre-commit 文件。

从 R 控制台,您可以通过以下方式实现此目标:

file.remove(".git/hooks/pre-commit")


7
当你编辑README.Rmd文件时,你的README.md文件不会自动同步。由于GitHub将显示您的README.md(而不是您的README.Rmd文件),因此需要在将其推送到GitHub之前构建README.md文件进行检查。如果不这样做,将防止您对README.Rmd文件所做的更改出现在您的存储库中。
我建议始终使用以下工作流程:
  1. 编辑README.Rmd文件
  2. 通过运行R控制台中的devtools::build_readme()来构建README.md文件
  3. 提交您的README.RmdREADME.md文件
这样做不应该引发任何警告,并且一切都将按照您想要的方式工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接