LoginSignup
2
0

More than 1 year has passed since last update.

Unityプロジェクトの外でコードを参照したくなった(Gitシンボリックリンク)

Last updated at Posted at 2022-11-10

はじめに

普段Unityを使っているのですが、Unityに依存したくないツール(C#)を作りたいときは、Assetsディレクトリの外にプロジェクトを作る必要があります。(同じリポジトリの管理下)
そのツールの中で、Unity側のコードを参照したいケースが出ました。
もちろん、UnityEngineに依存しているコードは使えないので、Util系などUnityに依存していないコードになります。
ファイルをそのままコピーしてもできますが、同じ内容の2重管理は良くないのでリンクさせたいと思いました。

そこで調べてみるとシンボリックリンクが使えそうでした。
環境はMacで書いています。

gitのシンボリックリンクの設定

はじめに、gitのシンボリックリンクの設定をOnにする必要があります。

git config --global core.symlinks true

確認

git config --get core.symlinks

ローカルで設定されてしまっている場合は、オフ

git config --unset core.symlinks

シンボリックリンクの手順

環境はMacで手順を書いていきます。
新しくリポジトリを作成したことを前提に記述します。

リンク用するファイルの作成

touch file1.txt
file1.txt
hello

シンボリックリンク作成

mkdir sub
ln -s ../file1.txt sub/link.txt

元になるファイルは、作成するシンボリックリンクファイルから見た相対パスにする必要があります。

中身を確認

cat sub/link.txt

結果

hello

新しくリポジトリをクローンしても、同様の結果が得られました。
また、ファイルだけではなく、ディレクトリを指定するとその中身がすべてリンクされます。

GitHub側では

ファイルのアイコンが変化し、中身はリンク先の相対パスになります。

image.png

image.png

2
0
0

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
2
0