LoginSignup
6
6

More than 5 years have passed since last update.

シンボリックリンクがただのファイルに置き換わってしまった

Posted at

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

概要は、

  1. シンボリックリンクのファイルをfindで探して、
  2. 目的のブランチへgit checkoutしてくる

といった感じです。
findの結果を一度ファイルに書き出しているのがみっともないので、どなたか、もっといい方法を教えていただけたらと思います。

6
6
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
6
6