如何在 RStudio 中使用隐藏 git 的未跟踪文件?

How to hide the untracked file of git in RStudio using?

我正在使用 Rstudio 0.99.335 和 git 1.9.5。我的本地副本中有很多未跟踪的文件,包括中间结果、报告等。有时,很难找到要提交的更改文件。

gitignore 可以用来忽略一些文件。但是,它可能不适合我。因为我有数万个没有特定模式的未跟踪文件,例如特定文件夹,扩展名。

我刚刚从 svn 迁移到 git 我自己的工作存储库有 10 年的历史。之前,我在我的 Windows 笔记本电脑中使用 tsvn 作为客户端,在我的 RStudio 服务器 (ubuntu) 中使用 svn 命令。迁移后,我尝试使用 RStudio 的内置 git 功能作为我的 RStudio 服务器的 git 客户端。

我的工作文件夹没有仔细管理,并且与已跟踪和未跟踪的文件夹和文件混在一起 (>100K)。

例如,

所有文件都可以是任何文件名并存储在任何地方,因为我的存储库历史悠久。

有没有办法在 RStudio 中隐藏未跟踪的文件?

感谢任何建议。

我没有使用过 Rstudio,一般情况下也不使用 IDE,但是您可以做一些事情来帮助 gitignore:

*.R. should be tracked. But sometimes I wrote codes for a specific target and didn't track them as they only used once.

当我写 'spike' 或临时代码时,我要么将它们放在已经跟踪的文件中,要么放在 tmp/ 中,后者在我的 gitginore.

*.csv: I normally used csv file to store the inputs and outputs. The inputs should be tracked, but outputs shouldn't tracked as I can regenerate them.

.docx: My own writing manuscript should be tracked. RMarkdown generated report shouldn't be tracked.

以上两个看起来非常相似:您自己编写的跟踪文件与 不是 跟踪由 IDE 生成的相同 type/extension 的文件。也许你可以设置 Rstudio 将生成的文件放在某些目录中,然后将这些目录放在 gitignore.

或者您可以为手写文件和生成文件制定命名约定,这将使 Git 能够区分两者。

我知道以上只是示例,您还需要处理其他文件,但您也可以将想法扩展到这些文件。

There are many untracked files in my local copy including intermediate results, reports, etc.

如果您不关心在您的存储库中跟踪这些文件,为什么要保留它们呢?一旦完成了中间结果并转向最终结果,为什么不删除这些中间文件呢?您可以删除的每个文件都会稍微减少问题。

Sometimes, it is hard to find the changed files to commit.

听起来 Rstudio 和 git 不是问题,那么。使用文件系统来组织所有这些文件。如果您将与给定项目相关的所有源文件放在一起,但与您不关心的文件分开,您将不会在识别需要跟踪的文件时遇到问题。

I just migrated from svn to git for my own working repository with 10 years history.

意识到您不需要将自己限制在一个存储库中来存储所有文件。每个项目创建一个 repo。这将减少每个回购中的文件数量,并且应该会显着减少问题。如果您真的搞砸了一个存储库,使用单独的、以项目为中心的存储库将限制损害,并且它可能会带来性能优势。它还将使与他人的协作变得更加容易——您可以与其他人共享一个项目的存储库,而无需共享您一生的工作。

My working folder don't carefully managed and mixed with tracked and untracked folder and files (>100K).

如果您有一个包含 100,000 多个文件的目录,所有文件都混合在一起,那么 Rstudio 或 git 功能都无法解决您的组织问题。你需要一个处理混乱的策略。这里有一些想法:

  • 花一个月的时间浏览所有这些文件并确定您关心的文件。
  • 按原样制作该目录的备份副本(也许三个)。然后重新开始使用一组新的目录和一个让事情井井有条的计划。当您需要以前处理过的内容时,将其复制到您的新工作区中。随着时间的推移,您关心的文件将被移动到新的、组织更好的存储库(或多个存储库)中。根据定义,旧目录中剩余的内容将是您不需要的内容。

*.R. should be tracked. But sometimes I wrote codes for a specific target and didn't track them as they only used once.

您编写的所有代码只使用一次,直到您第二次使用它。很难预测未来,因此跟踪所有代码可能是一个不错的计划,即使您非常确定不会再次使用它也是如此。或者,如果您确定不需要它,请将其删除。

Is there are way to hide untracked files in RStudio?

好像没有让Rstudio隐藏未跟踪文件的命令,但是你可以把未跟踪文件放在一个子目录下。至少在我的 Mac 上,如果目录中的所有文件都未被跟踪,Rstudio 的 git 面板不会显示目录的内容。