我使用新模板重新搭建了一个博客网站,但是每次打开项目,Rstudio右上角的Git部分就会显示冗余的改动信息,例如:

.Rproj.user\C1821C3F\pcs\windowlayoutstate.pper
.Rproj.user\C1821C3F\pcs\workbench-pane.pper

搜索到相关文章,里面提到在 .Rproj 文件所在的位置创建一个名为 .gitignore 的文件,然后在该文件中输入一行.Rproj.user/,这可以忽视不重要的信息。

但我的.gitignore文件从创建开始就是以下内容:

.Rproj.user
.Rhistory
.RData
.Ruserdata

可是每次打开,即使没有修改帖子或者主题任何参数,Git部分都会显示应该被忽略的信息。

我上一个博客模板就没有这种情况,为此,我将上一个博客模板的.gitignore文件的内容复制粘贴到目前使用的博客模板中:

# History files
.Rhistory
.Rapp.history

# Session Data files
.RData
.RDataTmp

# User-specific files
.Ruserdata

# Example code in package build process
*-Ex.R

# Output files from R CMD build
/*.tar.gz

# Output files from R CMD check
/*.Rcheck/

# RStudio files
.Rproj.user/

# produced vignettes
vignettes/*.html
vignettes/*.pdf

# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
.httr-oauth

# knitr and R markdown default cache directories
*_cache/
/cache/

# Temporary files created by R markdown
*.utf8.md
*.knit.md

# R Environment Variables
.Renviron

# pkgdown site
docs/

# translation temp files
po/*~

# RStudio Connect folder
rsconnect/

保存并上传后,发现仍然没有效果,打开项目还是会显示应该被忽略的信息。最后我将正在使用的博客模板的.gitignore文件的原内容改回来了。

我的源代码地址是:https://github.com/residualsun1/MyBlog

请问是应该对.gitignore文件进行修改吗?如果是,应该如何修改?

原因在于你当前库,已经把一些想要忽略的文件诸如 .Rproj.user\C1821C3F\pcs\windowlayoutstate.pper 加入到版本管理了,然后你再配置修改 .gitignore 配置并不能对已经纳入版本管理的文件进行忽略,现在配置的 .gitignore 只能保证新的符合配置规则的文件不会被纳入版本管理中。所以解决办法很简单,把已经纳入版本管理的想要 ignore 的文件移出版本管理,命令:git rm --cached <file> git rm -r --cached <folder>

    G_will 感谢回复!我对本地文件D:\04_Rrender\Blogdown\MyBlog中进行Git Bash Here后,在界面中先后输入了您提供的两个命令,但是都报错了,具体情况如下:

    $ git rm --cached <file>
    bash: syntax error near unexpected token `newline'

    后来查资料才知道是<>的问题,我想我理解错了你的意思,<file>应该是写具体的文件名字,而不是照写。然后根据这篇帖子,我了解到如果没指定清楚文件,可能会把整个仓库的缓存删除干净。

    所以还想请教一下您,我是应该在<file>指定.gitignore文件,然后在<floder>指定.Rproj.user吗?

    .gitignore的源代码位置:https://github.com/residualsun1/MyBlog/blob/main/.gitignore

    .Rproj.user的源代码位置:https://github.com/residualsun1/MyBlog/tree/main/.Rproj.user

      residual-sun 所以还想请教一下您,我是应该在<file>指定.gitignore文件,然后在<floder>指定.Rproj.user吗?

      <file><folder> 是写你不想让 git 记录的文件/目录。

      git rm -r --cached .Rproj.user

      git rm 删除后文件还在仓库,git checkout 12afd99 这样就变回来了。

      要完全删掉文件,可以看这篇文章:完全删除 Git 仓库的文件

        CyrusYip 感谢回复!我在Git Bash运行了以下命令:

        git rm -r --cached .Rproj.user

        显示结果为:

        rm '.Rproj.user/C1821C3F/pcs/files-pane.pper'
        rm '.Rproj.user/C1821C3F/pcs/source-pane.pper'
        rm '.Rproj.user/C1821C3F/pcs/windowlayoutstate.pper'
        rm '.Rproj.user/C1821C3F/pcs/workbench-pane.pper'
        rm '.Rproj.user/C1821C3F/rmd-outputs'
        rm '.Rproj.user/C1821C3F/saved_source_markers'
        rm '.Rproj.user/C1821C3F/sources/prop/03FFAA67'
        rm '.Rproj.user/C1821C3F/sources/prop/0B12A89C'
        rm '.Rproj.user/C1821C3F/sources/prop/0CFB35CB'
        rm '.Rproj.user/C1821C3F/sources/prop/0F2F6CDA'
        rm '.Rproj.user/C1821C3F/sources/prop/136CACDB'
        rm '.Rproj.user/C1821C3F/sources/prop/167CB16D'
        rm '.Rproj.user/C1821C3F/sources/prop/1CE75F56'
        rm '.Rproj.user/C1821C3F/sources/prop/1E5676A8'
        rm '.Rproj.user/C1821C3F/sources/prop/289FCE22'
        rm '.Rproj.user/C1821C3F/sources/prop/29490DEE'
        rm '.Rproj.user/C1821C3F/sources/prop/34F7ED51'
        rm '.Rproj.user/C1821C3F/sources/prop/404D6788'
        rm '.Rproj.user/C1821C3F/sources/prop/4EC0833B'
        rm '.Rproj.user/C1821C3F/sources/prop/51C6FFAF'
        rm '.Rproj.user/C1821C3F/sources/prop/6F6F4959'
        rm '.Rproj.user/C1821C3F/sources/prop/780C5768'
        rm '.Rproj.user/C1821C3F/sources/prop/861872D2'
        rm '.Rproj.user/C1821C3F/sources/prop/8B539EF6'
        rm '.Rproj.user/C1821C3F/sources/prop/96CF5439'
        rm '.Rproj.user/C1821C3F/sources/prop/9C4E25E2'
        rm '.Rproj.user/C1821C3F/sources/prop/9CD7BEEF'
        rm '.Rproj.user/C1821C3F/sources/prop/A02223ED'
        rm '.Rproj.user/C1821C3F/sources/prop/B1502DB2'
        rm '.Rproj.user/C1821C3F/sources/prop/B849E2A6'
        rm '.Rproj.user/C1821C3F/sources/prop/C2C7B8C6'
        rm '.Rproj.user/C1821C3F/sources/prop/C5F01A41'
        rm '.Rproj.user/C1821C3F/sources/prop/C6B6ED4A'
        rm '.Rproj.user/C1821C3F/sources/prop/C9E9B639'
        rm '.Rproj.user/C1821C3F/sources/prop/CB51E7E9'
        rm '.Rproj.user/C1821C3F/sources/prop/D05589DE'
        rm '.Rproj.user/C1821C3F/sources/prop/E155C6A2'
        rm '.Rproj.user/C1821C3F/sources/prop/E3E88E93'
        rm '.Rproj.user/C1821C3F/sources/prop/E9D14415'
        rm '.Rproj.user/C1821C3F/sources/prop/F419D099'
        rm '.Rproj.user/C1821C3F/sources/prop/FB01595A'
        rm '.Rproj.user/C1821C3F/sources/prop/FF4CE404'
        rm '.Rproj.user/C1821C3F/sources/prop/INDEX'
        rm '.Rproj.user/shared/notebooks/patch-chunk-names'
        rm '.Rproj.user/shared/notebooks/paths'

        下一步是要传到Github上吗?如果是的话是用哪个命令?因为我平时主要用GitHub Desktop来修改和上传文件的,所以不大清楚。

          CyrusYip

          我运行了以下两个命令:

          git add .
          git commit -m 'delete'

          响应结果如下:

          [main 6d2cf2b] delete
           45 files changed, 311 deletions(-)
           delete mode 100644 .Rproj.user/C1821C3F/pcs/files-pane.pper
           delete mode 100644 .Rproj.user/C1821C3F/pcs/source-pane.pper
           delete mode 100644 .Rproj.user/C1821C3F/pcs/windowlayoutstate.pper
           delete mode 100644 .Rproj.user/C1821C3F/pcs/workbench-pane.pper
           delete mode 100644 .Rproj.user/C1821C3F/rmd-outputs
           delete mode 100644 .Rproj.user/C1821C3F/saved_source_markers
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/03FFAA67
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/0B12A89C
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/0CFB35CB
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/0F2F6CDA
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/136CACDB
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/167CB16D
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/1CE75F56
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/1E5676A8
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/289FCE22
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/29490DEE
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/34F7ED51
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/404D6788
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/4EC0833B
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/51C6FFAF
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/6F6F4959
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/780C5768
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/861872D2
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/8B539EF6
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/96CF5439
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/9C4E25E2
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/9CD7BEEF
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/A02223ED
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/B1502DB2
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/B849E2A6
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/C2C7B8C6
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/C5F01A41
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/C6B6ED4A
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/C9E9B639
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/CB51E7E9
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/D05589DE
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/E155C6A2
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/E3E88E93
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/E9D14415
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/F419D099
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/FB01595A
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/FF4CE404
           delete mode 100644 .Rproj.user/C1821C3F/sources/prop/INDEX
           delete mode 100644 .Rproj.user/shared/notebooks/patch-chunk-names
           delete mode 100644 .Rproj.user/shared/notebooks/paths

          不知道和你提供的代码效果是否是一样的。

            一些建议:

            1. 用英文在谷歌搜技术问题,我刚在谷歌搜 .Rproj.user .gitignore,我这边第三个结果就是你的问题。

              https://stackoverflow.com/questions/36185456/gitignored-files-still-shown-in-rstudio

            2. 别看 CSDN。它质量不行,抄袭和垃圾内容太多,又要登陆才让复制代码,还有广告。

            3. 小心内容农场

              > .Rproj.user/ 在每个 git 提交上造成垃圾邮件,例如
              >
              > https://www.likecs.com/ask-1075976.html#:~:text=.Rproj.user,%E6%98%AF%E4%B8%80%E4%B8%AA%E9%9A%90%E8%97%8F%E7%9B%AE%E5%BD%95%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%AD%98%E5%82%A8%E9%A1%B9%E7%9B%AE%E7%89%B9%E5%AE%9A%E7%9A%84%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6%EF%BC%88%E4%BE%8B%E5%A6%82%E8%87%AA%E5%8A%A8%E4%BF%9D%E5%AD%98%E7%9A%84%E6%BA%90%E6%96%87%E6%A1%A3%E3%80%81%E7%AA%97%E5%8F%A3%E7%8A%B6%E6%80%81%E7%AD%89%EF%BC%89%E3%80%82

              你看这句话就狗屁不通,提交里怎么会有垃圾邮件。看到这句话就可以关掉这个网页了。


            为什么中文互联网那么多垃圾内容!叹气。

              CyrusYip
              好!

              我过去一直都是用CSDN搜索问题……广告确实很多。我偶尔也会在chrome上搜索,用中文搜也能搜到英文答案,例如GitHub里的、Posit community里的,也包括叶大哥你发的stackoverflow。

              忏愧的是,我更多时候会纵容自己的惰性,倾向于看中文的答案,知乎和CSDN就很现成,就是答案质量往往不如耐心看下来的英文帖子。

              十分乐意采纳你的意见!

              5 个月 后
              residual-sun 更改标题为「.Rproj.user/ 在每个 git 提交上带来冗余信息