frameworkの中身など、シンボリックリンクでファイルを管理することは多々あるかと思います。
ところでWindowsでは、シンボリックリンクはただのリンク先が書かれただけのテキストファイルに化けてしまいます。
-> 詳しくはこちらの記事を参照
何かの拍子で、リポジトリ内のシンボリックリンクがテキストファイルに置き換わってしまった!!
そんな事件が起きてしまったときにしたことメモ。
環境
$ git branch -v
* master
missingSymbolicLinks
master
ブランチには正常なシンボリックリンクが残っていて、missingSymbolicLinks
ブランチではシンボリックリンクが消えているとします。
作業はUnix系OSで行います。
手順
$ find . -type l > symlinks
$ git checkout missingSymbolicLinks
$ cat symlinks | xargs git checkout master --
$ rm symlinks
$ git commit
概要は、
- シンボリックリンクのファイルを
find
で探して、 - 目的のブランチへ
git checkout
してくる
といった感じです。
find
の結果を一度ファイルに書き出しているのがみっともないので、どなたか、もっといい方法を教えていただけたらと思います。