Submit Search
Upload
大容量ファイルもGitで管理。 Git LFSの使い方
•
56 likes
•
67,191 views
H
hibiki443
Follow
Git LFS とは? 導入方法 実際に使用してぶつかった問題と解決方法
Read less
Read more
Technology
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
Game Tools & Middleware Forum
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
SEGADevTech
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
Recommended
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
GTMF 2016:Perforce HelixによるGit環境の改善と拡張 株式会社東陽テクニカ(Perforce Helix)
Game Tools & Middleware Forum
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
SEGADevTech
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
Git LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順
エピック・ゲームズ・ジャパン Epic Games Japan
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
目grep入門 +解説
目grep入門 +解説
murachue
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
こわくない Git
こわくない Git
Kota Saito
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
Unity Technologies Japan K.K.
良くわかるMeta
良くわかるMeta
daichi horio
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
ikikko
More Related Content
What's hot
Git LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順
エピック・ゲームズ・ジャパン Epic Games Japan
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
目grep入門 +解説
目grep入門 +解説
murachue
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
こわくない Git
こわくない Git
Kota Saito
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
Unity Technologies Japan K.K.
良くわかるMeta
良くわかるMeta
daichi horio
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
What's hot
(20)
Git LFSを触ってみた
Git LFSを触ってみた
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
一般的なチートの手法と対策について
一般的なチートの手法と対策について
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
インタフェース完全に理解した
インタフェース完全に理解した
目grep入門 +解説
目grep入門 +解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
こわくない Git
こわくない Git
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
Gstreamer Basics
Gstreamer Basics
DockerコンテナでGitを使う
DockerコンテナでGitを使う
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
良くわかるMeta
良くわかるMeta
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Viewers also liked
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
ikikko
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
Kazuhito Miura
Startup jenkins!
Startup jenkins!
Kanu orz
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
Kazuhito Miura
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
モックアップ共有のススメ
モックアップ共有のススメ
Kazuyoshi Goto
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
Kazuhito Miura
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
Kazuhito Miura
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Takahisa Wada
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
Jun Iio
Shibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみた
Kanu orz
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
満徳 関
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Kazuhito Miura
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
邪道Jenkins
邪道Jenkins
hazisarashi
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
Viewers also liked
(20)
いつやるの?Git入門
いつやるの?Git入門
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
Startup jenkins!
Startup jenkins!
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
モックアップ共有のススメ
モックアップ共有のススメ
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
Shibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみた
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動化パタンランゲージ
自動化パタンランゲージ
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
邪道Jenkins
邪道Jenkins
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Similar to 大容量ファイルもGitで管理。 Git LFSの使い方
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
DoshishaUniv ProntiatVR
Git&GitHub入門
Git&GitHub入門
hideaki honda
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
Yapc2012資料
Yapc2012資料
matsuo kenji
Git勉強会
Git勉強会
Tomoki Oyamatsu
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
lolipopjp
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
Git 初心者講座 by forkwell
Git 初心者講座 by forkwell
sinsoku listy
ゆるふわっGit入門
ゆるふわっGit入門
Keisuke Oohata
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02
Kosuke Tanabe
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
Takashi Imagire
Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
第1回Git勉強会
第1回Git勉強会
kunimiya
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
Yutaro Miyazaki
オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)
Shunsuke Tadokoro
Git 20100724
Git 20100724
Taku AMANO
Git extensions ws外部公開用
Git extensions ws外部公開用
CROOZ, inc.
Introduction git
Introduction git
Misa Kondo
Git tutorial
Git tutorial
Hiroki Kouchi
Similar to 大容量ファイルもGitで管理。 Git LFSの使い方
(20)
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Git&GitHub入門
Git&GitHub入門
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Yapc2012資料
Yapc2012資料
Git勉強会
Git勉強会
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Git 初心者講座 by forkwell
Git 初心者講座 by forkwell
ゆるふわっGit入門
ゆるふわっGit入門
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
Git社内勉強会資料
Git社内勉強会資料
第1回Git勉強会
第1回Git勉強会
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)
Git 20100724
Git 20100724
Git extensions ws外部公開用
Git extensions ws外部公開用
Introduction git
Introduction git
Git tutorial
Git tutorial
Recently uploaded
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Recently uploaded
(10)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
大容量ファイルもGitで管理。 Git LFSの使い方
1.
大容量ファイルも Git で管理。 Git
LFS の使い方 吉澤 富美 2016.04.11
2.
自己紹介 吉澤 富美(よしざわ よしみ)@ヒビキ •
デジパ株式会社 所属、D-77.LLC 代表 • サウジアラビアで幼少期を過ごす • 元々マークアップエンジニア、 最近はウェブディレクター業務が多い • X、LUNA SEA、BUCK-TICKなどが大好き 2
3.
こんなこともやってます! 2012 年立ち上げ時から WP-D
へ参加! WP-D ではピンク担当 待ち合わせアプリ「meety」 HTML5 Japan Cup 2014 by html5j 部門賞受賞 3
4.
執筆書籍 『現場でかならず使われている WordPress デザインのメソッド』 『HTML5+CSS3でつくる! レスポンシブWebデザイン』 『いちばんやさしい Webマネジメントの教本』 など執筆 4
5.
Git LFS とは 5
6.
Git のおさらいから! Git はプログラムのソースコードなどの 変更履歴を記録・追跡するための分散型バージョン管理システム 6
7.
差分だけ記録 全バージョンのファイルを丸ごと保存しているわけではない 差分(変更点)の情報を記録!! 7 テキスト データ
8.
Git の弱点 バイナリファイル 画像や映像などの バイナリファイルの 変更はテキストと違い ファイル丸ごと記録 8 テキスト データ ではない
9.
Git Large File
Storage Git LFS = Git Large File Storage • Git LFS は GitHub が中心になり 開発している Git の拡張機能 • 大きなバイナリファイルは Git 管理に向いていないが、 これを解決する目的 9
10.
Git LFS の仕組み
10 GitHub など 自分の マシン
11.
Git LFS の仕組み •
Large File Storage に PSD などファイルの実態を格納 • Git には テキスト・ポインタを格納 • Git リポジトリそのものは 肥大化しない 11 テキスト・ポインタ
12.
Git LFS を使うメリット •
Git の苦手なバイナリファイルの管理に優れている • Large File Storage を GitHub が提供($5 で 50 GB/month) • テキスト・ポイントを格納、Git リポジトリは肥大化しない • Git LFS ファイルを飛ばして clone や pull できる • SourceTree から使うことも可能 (ただしコマンド必要になる可能性も高い、後述) 12
13.
Git LFS なし
1.02MB Git LFS 利用 2.69KB 同じ修正をしたリポジトリ2つ 13 .git/objects の重さを比較
14.
Git LFS を使うデメリット •
Large File Storage が必要 • Git LFS はまだ走り出したばかり(=不安定な時もある) • Git LFS 管理のファイルを飛ばさずに clone や pull をすると、 ファイルの変更が大量だった場合などエラー落ちしてコケる • Git LFS 管理のファイルを飛ばして clone や pull するのは手間 14
15.
導入方法 15
16.
導入方法 Windows 1. https://git-lfs.github.com/
の「Download」からインストー ラーをダウンロードしてインストール 2. インストールしたら次のようにコマンドを打つ 3. マシン再起動 16 git lfs install
17.
導入方法 Mac Homebrew を使うと楽なのでオススメ!! http://brew.sh/index_ja.html 最初に
Homebrew をアップデートしておく 17 brew update
18.
導入方法 Mac 1. Git
LFS をインストール 2. インストールしたら次のようにコマンドを打つ 3. マシン再起動 18 brew install git-lfs git lfs install
19.
導入方法 Windows &
Mac Git LFS のバージョンを確認 \インストール完了!/ 19 git lfs version
20.
Git LFS で管理するファイル 追加したいファイルを設定 設定した内容は
.gitattributes 内に設定が保存される .gitattributes を直接編集しても良い 20 git lfs track "*.psd"
21.
Git LFS で管理するファイル 設定できたか確認 設定できていれば、こんな感じに表示される 21 git
lfs track Listing tracked paths *.psd (.gitattributes)
22.
実際にコミットしてみて動作確認 1. テストファイル(Git LFS
管理対象の拡張子、例えば psd な ど)を Git 管理のフォルダ内に追加 2. そのファイルをコミットする(プッシュはしないで良い) 3. Git LFS の管理下になったかを確認 2 でコミットしたファイル名があれば OK 22 git lfs ls-files
23.
Git LFS の管理下にファイルがない場合 •
git.exe(実行ファイル)の場所を開いて、同じ場所に git- lfs.exe(実行ファイル)があるか確認 • 実行ファイルの場所が分からない場合、Windows であれば MasterSeeker でサーチすると見つけやすい • Mac の場合「/usr/bin/git」あたりに大体ある 23
24.
SourceTree の設定 • SourceTree
などのソフトを 使っていても Git LFS は使える • SourceTree の場合、 ツール>オプションから 「内蔵 Git を使用」 「システム Git を使用」 を選択できる 24
25.
SourceTree の設定 • SourceTree
に内蔵の Git でも いいんじゃないの? • 悪くないけど後々コマンドを 打つことになるので、自分で 入れて使う方が今はオススメ 25
26.
実際に運用して ぶつかった問題 26
27.
Q. クローンやプルが失敗する • 差分に
Git LFS で管理するファイルが大量だと 高確率でエラーが出てそのままクローンやプルが失敗する • もれなく中途半端に落ちてきてしまったファイルが 作業コピーに入ったまま残るオマケつき 「作業コピーに 2000 くらいファイルが入ってる」 「何度やってもクローン失敗するよ!?」 27
28.
A. クローンやプルが失敗する • 原因は
Git LFS 管理ファイルダウンロードと git clone や git pull を一緒に行った際、Git LFS 側がタイムアウト等エラー落ちする と git clone や git pull を巻き込んで落ちるため(ヒドイ) • Git LFS 関連の処理をスキップして git clone や git pull だけを 先に行えば OK!ただしコマンドを打つ必要がある 28 GIT_LFS_SKIP_SMUDGE=1 git ほにゃらら
29.
A. クローンやプルが失敗する(クローン) • Git
LFS 関連の処理をスキップしてクローン • git clone が終わったら、指定したフォルダへ cd で移動して Git LFS 関連のファイルをプル 29 GIT_LFS_SKIP_SMUDGE=1 git clone https://○○.git git lfs pull
30.
A. クローンやプルが失敗する(プル) • Git
LFS 関連の処理をスキップしてプル • git pull が終わったら Git LFS 関連のファイルをプル 30 GIT_LFS_SKIP_SMUDGE=1 git pull git lfs pull
31.
Q. ファイルが作業コピーに残って消えない • 変更してないファイルが作業コピーにあり破棄しようとしても エラーがでたりして消せない(これ多くて本当大変でした) 「このファイル変更してないのに作業コピーに入ってる…」 「しかも破棄(リセット)しても消えない」 「SourceTree
などで見ても差分は表示されないのになんで」 31
32.
A. ファイルが作業コピーに残って消えない • 破棄しても駄目な時はリモートと強制同期 ローカルでファイル変更をしていた場合は容赦なく それも消えてしまうので注意 32 git
fetch origin git reset --hard origin/ブランチ名
33.
Q. 何度もログイン情報を聞かれる • ファイル
100 件ごとにユーザー名とパスワードを聞かれる (HTTPS の場合) • 3000 件以上 Git LFS 管理ファイルがあり大変な目に… 「何十回ユーザー名とパスワード入れれば良いん!?」 33
34.
A. 何度もログイン情報を聞かれる • Mac
なら git credential を使えば OK OS X のキーチェーンにログイン情報が保存される (git version 1.7.9 以上が必要) • Windows だと SSH で繋いでしまうのが楽? 34 brew upgrade git git config --global credential.helper osxkeychain 一行目は git version アップグレード
35.
まとめ 35
36.
導入してどうだったのか? Git でバイナリデータ(画像や動画など)を扱うようになり ソースコードとバイナリデータを一元管理可能になった 36
37.
導入してどうだったのか? Web サイト上のデータを一元管理できるようになったため Git にサーバーアップ用のブランチを作り、そのブランチから デプロイしてサーバーへアップ可能になった 37
38.
導入してどうだったのか? Git ブランチからデプロイできるとアップ漏れもなくなり 大規模サイトになればなるほど便利さ実感!! 38 \やったぜ!/
39.
現時点では完璧ではないが選択肢としてアリ • まだ Git
LFS の使い勝手は「最高に手軽で便利」とは言えない • デメリットはある程度は運用でカバー可能 • メリットの方が大きいケースなら導入も1つの手 • 日々開発が進んでいる模様なのでチェック! 39
Download now