mocchaso note

サーバーエンジニアが何か色々呟いているところ。

Git LFSでpushできるようになった!

卒業研究で使うデータをGitHubで管理していたのですが、その中にWordNetもありました。
WordNetは余裕で100MBを超えているため、管理対象にするならGit LFSの導入が必要になりました。
相当時間がかかったものの、何とか導入できたので備忘録。


  1. Windows 8.1なので、Git LFSのページからインストーラをダウンロードしてPCにインストール

  2. 通常のコマンドプロンプトcd (my local repository)

  3. git lfs install

     Updated git hooks.
     Git LFS initialized.
    
  4. git lfs versiongit lfs installが成功しているかの確認 -> OK)

     git-lfs/2.5.1 (GitHub; windows amd64; go 1.10.3; git e1628484)
    
  5. git lfs track (a large file)

  6. git lfs track(a large fileがトラック対象になっているかの確認 -> OK)

     Listing tracked patterns  
         (a large file) (.gitattributes)
    
  7. Windowsエクスプローラ上で、ローカルリポジトリにラージファイルを移動させる

  8. git add (a large file)

  9. git add .gitattributes

  10. git commit -m "test"(コミットメッセージは適宜入力)

     a8e749c4a3 * (a large file)
    
  11. rm .git/hooks/pre-push
    これを行うことでHTTP 401(認証エラー)を回避できるみたい。
    参考サイト:Authentication required : You must have push access to verify locks error. · Issue #2291 · git-lfs/git-lfs · GitHub
    注 ... 項目11以降はbash推奨(cygwinコマンドプロンプトからbashを呼び出す 等)

  12. 以下のどちらかのコマンドを打つ。

    • export GIT_TRACE=1 -> git push origin master

    • GIT_TRACE=1 git push origin master

    GIT_TRACE=1 -> Gitが行っている処理をコマンドプロンプトに表示するようにする
    参考サイト:
    `git push origin master` has not finished · Issue #3257 · git-lfs/git-lfs · GitHub
    Gitのエイリアスで引数を使う



8と9の順番は逆でもOKなのか...?(OKだと予想。ご存知の方是非ご教授ください)
調べてもうまくいかず、最終手段として、GitHub上のGit LFSリポジトリのIssueで質問しました笑
何はともあれ導入できて良かったです。