【自主学習の記録 part2】Git LFSの実験
Git LFS
前回Git LFSについて学習しましたが、試してみたい事を思いついたのでやってみました。
LFS管理対象ファイルが格納されたディレクトリを移動した場合
LFSで管理されたファイルの実体は、プロジェクトのディレクトリとは異なる場所に格納されています。
この実体ファイルが格納されたディレクトリを例えばGitの移行作業時の移行漏れが発生してしまった場合等により参照できなくなった場合どうなるか試してみました。
まず以下プロジェクトに格納されているLFS管理対象のpngファイルをクリックします。
pngファイルの中身は以下の通りです。
以前の記事で使用した画像ファイルとなっています。
次に現在LFS管理の実ファイルの場所をサーバー上で確認します。
場所は環境によって異なるかもしれませんが、私の場合はデフォルトのまま変更していませんでしたので以下の場所に格納されています。
/var/opt/gitlab/gitlab-rails/shared/lfs-objects
中身はこうなっていました。
[root@localhost ~]# ll /var/opt/gitlab/gitlab-rails/shared/lfs-objects/
合計 0
drwxr-xr-x. 3 git git 16 11月 29 19:38 7e
drwxr-xr-x. 3 git git 16 12月 6 15:41 94
drwx------. 5 git git 46 11月 29 19:38 tmp
上記lfs-objects
ディレクトリはGitLabの設定ファイルgitlab.rb
のlfs_storage_pathというセクションで参照されています。
該当の設定を表示したい場合は、以下のコマンドを実行します。
cat /etc/gitlab/gitlab.rb | grep lfs_storage_path
上記コマンドで表示されたLFS管理対象ファイルの実ファイル格納先ディレクトリ名lfs-objects
を一時的に下記の通りlfs-obj
という名前に変更してみました。
mv /var/opt/gitlab/gitlab-rails/shared/lfs-objects /var/opt/gitlab/gitlab-rails/shared/lfs-obj
この状態でGitLabのプロジェクト画面から対象のpngファイルを開いてみます。
すると以下の通りファイル名しか表示されていない状態となりました。
予想では404エラーあたりが表示されるかと思っていましたが特にエラー画面にはならずに破損ファイル?として表示はされたようです。
この状態でクローンしてみました。
すると以下の通りpngファイルのダウンロード時にエラーが表示され、クローンに失敗しました。
LFSのディレクトリが無いので怒られているのでしょうか。
ひとまず先程リネームしたディレクトリ名を元に戻してみます。
mv /var/opt/gitlab/gitlab-rails/shared/lfs-obj /var/opt/gitlab/gitlab-rails/shared/lfs-objects
上記コマンド実行後に再度GitLab上のプロジェクトからpngファイルを開いてみましたところ、正常に画像が表示されました。
特に見た目に変化は見られませんが、以下はlfs-objects
ディレクトリ名を元に戻した後の画面となります。
次にGit Bashから再度クローンを実施してみます。
今度は特にエラーなく完了しました。
以上で実験は終了です。
次回はまだ検討中です。
Author And Source
この問題について(【自主学習の記録 part2】Git LFSの実験), 我々は、より多くの情報をここで見つけました https://qiita.com/fy406/items/1724f71dcd15ff1b886c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .