【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
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や別の開発者がチェックアウトした時に全員共通の除外リスト持っておきたかったからです。

 

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

 

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

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

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

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

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

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

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

 

コメント

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