Submit Search
Upload
大容量ファイルもGitで管理。 Git LFSの使い方
•
56 likes
•
67,189 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
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
Recommended
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
NAKAOKU Takahiro
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
NTT DATA Technology & Innovation
30分で分かる!OSの作り方
30分で分かる!OSの作り方
uchan_nos
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
非同期処理の基礎
非同期処理の基礎
信之 岩永
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
こわくない Git
こわくない Git
Kota Saito
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Deflate
Deflate
7shi
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
tf,tf2完全理解
tf,tf2完全理解
Koji Terada
Git LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
More Related Content
What's hot
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
NAKAOKU Takahiro
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
NTT DATA Technology & Innovation
30分で分かる!OSの作り方
30分で分かる!OSの作り方
uchan_nos
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
非同期処理の基礎
非同期処理の基礎
信之 岩永
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
こわくない Git
こわくない Git
Kota Saito
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Deflate
Deflate
7shi
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
tf,tf2完全理解
tf,tf2完全理解
Koji Terada
What's hot
(20)
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
30分で分かる!OSの作り方
30分で分かる!OSの作り方
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
GPU最適化入門
GPU最適化入門
非同期処理の基礎
非同期処理の基礎
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
こわくない Git
こわくない Git
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Deflate
Deflate
実践イカパケット解析
実践イカパケット解析
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
tf,tf2完全理解
tf,tf2完全理解
Viewers also liked
Git LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
いつやるの?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
Viewers also liked
(20)
Git LFSを触ってみた
Git LFSを触ってみた
いつやるの?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
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.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
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の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
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