LoginSignup
0

More than 5 years have passed since last update.

RTVS で .Rhistoryをgit管理下から外す

Last updated at Posted at 2017-07-05

RTVSでgit管理

特にRTVSだけの話ではありませんが、Visual Studioでのプロジェクトファイルをgit管理できます。
多数の記事があり、ここで書くまでもないので、こちらにオフィシャルなガイダンスを挙げておきます(こちらの例はTFSのgitリポジトリですが。):
Get Started with Git and Team Services

本家gitのサイトにもVSからgitを使うことに関するエントリがあります(2013で止まっている!)
A1.2 Appendix A: その他の環境でのGit - Visual StudioでGitを使う

基本的には以下のオフィシャルのExtensionを入れることになります。
GitHub Extension for Visual Studio

最初の頃のバージョンは、最低限の機能しかありませんでしたが、最近のバージョンではほとんどのgit操作がGUI経由でできるようになっているようです。

RTVSでの.gitignore

RTVSでgitを使うのは非常に簡単で、通常のプロジェクトと同じように使えます。Rの場合は*.rソース以外にほとんど設定ファイル、中間ファイルを必要としないので、あまり拘ることはありません。

ですが、どうもRTVSを使い始めて、気になるのが、.Rhistoryなどのgitignoreがデフォルトではなされていないようなのです。Visual Studioの.historyはプロジェクトフォルダに展開されませんが、同じプロジェクトをRstudioで開いたりすると、.historyファイルが作られます。

gitignoreについて、推奨のリストがRTVSでも提供されていますが、デフォルトでは適用されないようです。
RTVS/.gitignore
こちらに、MS公式ドキュメントとして推奨されています:
RTVS documents

Q.RTVS プロジェクトで推奨される .gitignore の設定はどのようなものですか?
A: Github に、.gitignore の推奨ファイルのマスター リポジトリが用意されています。 R .gitignore をご覧ください。

以下のようにgithubにイシューが上がっているにも関わらず、VS2017用の正式リリースに至っても、まだ対応されていないように見えます:
Consider adding R-specific .gitignore file #1153

ちょっとガッカリ対応ですが、まあしばらく手動で対応し、気長に待ちましょう。

すでに登録されてしまった、.Rhistoryを外す

.gitignoreを設定した後、ソリューションエクスプローラから.Rhistoryを選択し、削除します。これでgit管理からの削除も行われます。

image.png

変更ビュー(またはコミットの詳細)からは、以下のように対象ファイルがリポジトリから削除される事が認識されています。

image.png

その後再び.Rhitoryファイルが作成されても、以下のようにgit管理からは外れていることがわかります。

image.png

基本的には上記の操作で以下のコマンドが発行されているようです。参考:Visual Studio で git のファイルを消す-kazuakix の日記

git rm filename

また、上記の場合は、ローカルのファイルも削除されてしまうので、git管理下から外したいだけの時は、以下のようにオプションを付けます。(もっとも.Rhistoryを残したいというシーンはあまりないと思いますが)

git rm --cached filename

とすると、ソリューションエクスプローラ上では以下のようにファイルは存在するが、次回のコミットでリポジトリからは削除される旨のxマークがつくので、所望の動きであることが確認できました。

image.png

これをコミットすると以下のように無視されているというマークがつきます。きめ細かいですね。

image.png

あとは、心おきなく、REPLやデバッガで実験しまくっても、不要なコミットをしなくてよくなりますね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0