PR

【Unity】無料でバージョン管理する!ローカルsvn編

無料でUnityをバージョン管理する!ローカルsvn編 開発効率化

 

リポジトリを作成する

リポジトリを覚えていますか?
GitHubでもあったプロジェクトや更新ログなどのデータをためておく場所です。

GitHubの場合はウェブサイト上にあったのでそれをクローン(コピー)してくるだけでしたがsvnではそのようなリポジトリが用意されていないPC上に自作する必要があります。

ただ手順は非常に簡単で

リポジトリを作成したい空フォルダの中で右クリック
そして「TortoiseSVN→Create repository here」を選択します。

するとフォルダ内にsvnのシステムファイルが作成されます

 

下記のようなウィンドウがでますので

  1. リポジトリのアドレス
    これはチェックアウト(GitHubで言うクローン)する時に
    必要なので控えておいてください
  2. OKを押すと完了

 

 

リポジトリをチェックアウトする

チェックアウトとはGitHubで言うクローン
リポジトリから最新のデータをダウンロードしてくるアクションです。

これをするとプロジェクトがダウンロードされてきます。

早速チェックアウトをしてみましょう!

まずダウンロードしてくる作業用のフォルダを作成して
そこで右クリックを押して「SVN Checkout」を選択。

 

次に進むと

  1. さきほど控えておいたリポジトリのアドレスを設定してください
    (file:///ドライブ名&パス)
  2. リポジトリから落としてくる作業フォルダです
  3. OKを押す

後はチェックアウトされますのでOKを押します。

フォルダを見ると隠しファイルではありますが「.svn」というファイルが追加されています。

もし見えない場合は下記の「隠しファイルの表示方法」
について調べてみてください

これがこのフォルダがSVN管理下になった証です!

次はここにUnityのプロジェクトを置いて
リポジトリにアップしていきましょう!

 

Unityプロジェクトをコピー

Unityのプロジェクトをさきほどチェックアウトしたフォルダにコピーしましょう。
コピーが出来たら、チェックアウトした作業用フォルダで「Commit」を選択してみましょう。

 

コミットボタンを押すとこのようなウィンドウが出ます。
しかし明らかに不要な作業用のファイルが大量に含まれており、これは危険!

一旦キャンセルしましょう

これらのUnityの中間ファイル、作業ファイルなどを管理しないように
除外する設定をしてあげる必要あります。

これはGitHubにも同じようなファイルがありましたね。

svnの場合はファイル追加ではなく
リポジトリ側に設定を追加する必要があります

 

管理不要なファイルを除外する

まずはリポジトリがあるフォルダで右クリックを押して

  1. TortoiseSVNを選択
  2. Repo-browserを選択

そしてブラウザが開くので

ルートのフォルダ(リポジトリがある場所)「file:///~」を右クリックして
「Show properties」を選択します。

プロパティ用のウィンドウが開くので

  1. New…を選択する
  2. Otherを選択する

次にプロパティ追加ウィンドウが開くので

  1. 「svn:global-ignores」を選択する
  2. 除外のリストを追加(下記参照、コピーして貼っつけてください)
  3. OKを選択する

除外リスト

[Ll]ibrary
[Tt]emp
[Oo]bj
[Bb]uild
[Bb]uilds
[Ll]ogs
[Uu]serSettings
Assets/AssetStoreTools*
.vs
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.opendb
*.pidb.meta
*.pdb.meta
sysinfo.txt
.*

追加ウィンドウが閉じると更新ウィンドウが出るので

  1. 更新内容のメッセージを記入する
  2. OKを選択する

 

これで除外リストを正しく設定できました!

おめでとうございます!

ちなみになぜリポジトリ側に設定したかと言うと
他のPCや別の開発者がチェックアウトした時に全員共通の除外リスト持っておきたかったからです。

一つのPCだけ設定しても仕方ないですし

では次は実際にコミットをしてみましょう。

 

Mac環境で問題が発生しました! ※追記 2020/08/01

SVNのデフォルト設定だと実は色々除外されていることが発覚しました…!
どんな問題かと言いますと、Mac側のUnityで必要な「.so」や「.a」などのライブラリファイルがクライアントソフトのデフォルト設定で除外されていたようです。

なので画像のように「右クリック→TortoiseSVN→Settings」を選択し

こちらの画像のように「General→Global ignore pattern」を全削除してください。

問題になったファイルだけを除外してもよかったのですが
本件は実際起きても分かりづらい上、プロジェクトごとに個別で除外リストを設定しているため今回は不要だと考えて全削除としました。

もしUnity以外で利用されている方は
ご自身の環境に合わせて不要なファイルを指定してください

またこの設定が終わったらコミットウィンドウを開いて、これまで除外されていたファイルを忘れずコミットしておいてくださいね。

 

コメント

スポンサーリンク
タイトルとURLをコピーしました