日々精進

新しく学んだことを書き留めていきます

hardlinkを使ってコードを共有

クライアントサイドとサーバサイドの両方で使うクラスはクライアントフォルダとサーバフォルダの両方の下からリンクを置いてアクセスしたくなる。
シンボリックリンクを使うと、Gitでリソース管理をする時に困る。シンボリックリンクをコミットしても、チェックアウトした時にシンボリックリンクにならない。なんか変なファイルになる。
そこでhardlinkを使う。使い方は以下。
git に、シンボリックリンクされたファイルを追加出来ない場合の対処方法 | Zero4Racer PRO Developer's Blog
コレを使うと見た目には実際のフォルダと全く同じに見える。
Gitもリンク先のファイルをコミットしようとしてしまうので注意。


フォルダ構造はざっくり以下のようにして、.gitignoreにcommonフォルダを書いておくといい。

├── client
│   └── app
│   ├── common ハードリンク
│   ├── controller
│   └── view
├── common
│   ├── collection
│   └── model
└── server
└── src
└── common ハードリンク

あ、なんかへんになってる。server>src>commonという構造になってます。