行ってきました。GitLab/GitLab.com 勉強会 – かごべん | Doorkeeper
主催してくださった政倉さん、ありがとうございました 🙂
当日のレポートはこちらです!!
GitLab/GitLab.com 勉強会 (2015/12/09) レポート – Qiita
この勉強会以前(2015/10/07)に、政倉さんにお誘いいただいて、Git Large File Storageの勉強会に参加していたので、実質、Git LFSを試すのは今回で2回目でした。
第1回目は、まだGithubがGit LFSを正式にサポートしていなかったので、ローカルにサーバを立てて体験する流れでした。第1回目の参考資料はこちら↓↓
と、
Git LFSが1.0になってGitHubで使えるようになったので試してみた – Qiita
goをインストールする必要があったり、初めてだらけで、政倉さんに助けていただきながらなんとかローカルサーバにpushできた感じでした。
それから後は、なかなか触れずにいたんですが、今回GitLabでも使えるようになったということで、第2回目が開催されたと言う流れでした。
現在はGitHubでGit LFS使えます!!
YouTubeもあるんですね。
git-lfs/docs at master · github/git-lfs
目次
GitLabとは?
GItLab とは、GitHub とほぼ同じ機能を持つオープンソースのソフトウェアです。無償で使える GitLab CE と有償の GitLab EE とあります。
また、つい最近 GitLab CI とよばれる CI も統合され、大きなファイルを扱う Git LFS
も使えるようになったようです!これを機会に使ってみませんか?
と言うことで、GitLabの存在自体は知っていたんですが、触ったことがなかったし、先にも書きましたが、Git LFSも1度やっただけでそれっきりになっていたのでありがた〜いタイミングでした。
先ずは政倉さんからGitLabの各サービスの料金・種類やGitHubはじめその他Git系のサービスの紹介や違いなどの説明があり、その後はもくもくと各自やってみて、最後に軽く発表という流れでした。
GitLab CIというのも初めて知りました。
政倉さんの資料はこちら → GitLab/GitLab.com 勉強会
- GitHub Enterprise は Travis CI などとの連携が難しいはずなので、無償でここまで出来るのはすごい!
GitLabはGitHubのクローンなんですね。知らなかった。
Git LFSの概要はGitHub掲載の画像がとても直感的で分かり易いです。
画像などの実態は別で保管し、ポインタのみをgitで取り扱います。不要なファイルのpush, pullをすること無く、やりとりできるのがメリットです。
先ずはやってみる
Code, test, and deploy together with GitLab open source git repo management software | GitLab
- こちらでアカウント作成し、各種設定を済ませます。
- 新規プロジェクトを作成
- プロジェクトの設定
- 今回はデスクトップに作成したので”Existing folder or Git repository”を参照
- 今回はPSDファイルをGit LFSでtrackするよう設定
[code]git lfs track "*.psd"[/code]
現在lfsでtrackされているファイルタイプを確認するには、
[code]git lfs track[/code]
[code]Listing tracked paths
*.psd (.gitattributes)[/code]こんな感じで返ってくる。
で、Git LFSをセットアップ[code]
$ git lfs install
Updated pre-push hook.
Git LFS initialized.
[/code]これで準備OK!! 🙂
- 適当にPSDを追加
- git statusで確認
[code]
$ git status
On branch masterInitial commit
Untracked files:
(use "git add <file>…" to include in what will be committed).gitattributes
hibou_logo_web_cut.psdnothing added to commit but untracked files present (use "git add" to track)
[/code] - .gitattributesが作成されてるのでちょっと確認
[code]
$ cat .gitattributes
*.psd filter=lfs diff=lfs merge=lfs -text
[/code]これtrackを設定する時作られるやつだった。.aiとか.jpgとか複数追加できる
- 追加してコミット+プッシュ
[code]
$ git commit -u -m ‘first commit’
[master (root-commit) 4c3189f] first commit
2 files changed, 4 insertions(+)
create mode 100644 .gitattributes
create mode 100644 hibou_logo_web_cut.psd
[/code][code]$ git push origin master[/code]
ここで、GitLabのUsernameとPasswordを聞いてくるので入力
[code]
Username for ‘https://gitlab.com’:ユーザー名
Password for ‘https://marushu@gitlab.com’:パスワード
[/code]すると、pushが始まる
[code]
Git LFS: (1 of 1 files) 76.61 KB / 76.61 KB
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 425 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To git@gitlab.com:marushu/my-test-project.git
* [new branch] master -> master
[/code]無事完了 🙂
- GitLabを確認してみる
first commit (4c3189f0) · Commits · marushu / my-test-project · GitLab
無事に追加されていることを確認!! - PSDを編集してみる
- おもむろに git status してみる
[code]
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>…" to update what will be committed)
(use "git checkout — <file>…" to discard changes in working directory)<strong>modified: hibou_logo_web_cut.psd</strong>
no changes added to commit (use "git add" and/or "git commit -a")
[/code]
modifiedになってますな 🙂
- 9同様追加してコミット+プッシュ
[code]
$ git commit -m ‘ひっくり返してみたよ’
[master 5e92b7f] ひっくり返してみたよ
1 file changed, 2 insertions(+), 2 deletions(-)
$ git push origin master
Username for ‘https://gitlab.com’: ユーザー名
Password for ‘https://marushu@gitlab.com’: パスワード
Git LFS: (1 of 1 files) 126.58 KB / 126.58 KB
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 406 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@gitlab.com:marushu/my-test-project.git
4c3189f..5e92b7f master -> master
[/code]push完了 😀
- GitLabを確認してみる
hibou_logo_web_cut.psd · d52a7f66ddc257f339608574fc6f0dd584dfe9ca · marushu / my-test-project · GitLab
ばっちり (^^) - クローンしてみる
[code]
$ mkdir clone-test && cd $_
$ git clone git@gitlab.com:marushu/my-test-project.git
Cloning into ‘my-test-project’…
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 10 (delta 2), reused 0 (delta 0)
Receiving objects: 100% (10/10), done.
Resolving deltas: 100% (2/2), done.
Checking connectivity… done.
Downloading hibou_logo_web_cut.psd (159.15 KB)
Username for ‘https://gitlab.com’: ユーザー名
Password for ‘https://marushu@gitlab.com’: パスワード
$ ls -lah
total 0
drwxr-xr-x 3 shuhei staff 102B 12 21 14:55 .
drwx——+ 30 shuhei staff 1.0K 12 21 14:55 ..
drwxr-xr-x 5 shuhei staff 170B 12 21 14:56 my-test-project
hibouMBP:clone-test$ cd my-test-project/
hibouMBP:my-test-project[master]$ lls
total 328
drwxr-xr-x 5 shuhei staff 170B 12 21 14:56 .
drwxr-xr-x 3 shuhei staff 102B 12 21 14:55 ..
drwxr-xr-x 13 shuhei staff 442B 12 21 14:56 .git
-rw-r–r– 1 shuhei staff 42B 12 21 14:56 .gitattributes
-rw-r–r– 1 shuhei staff 159K 12 21 14:56 hibou_logo_web_cut.psd
[/code]ユーザー名, パスワード聞かれた。
ってことで、うまく行きました。
このプランでやるにはユーザー名、パスワードが必要なので、協業するには別プランか、GitHubのGit LFSを使うのがいいのかも?
いずれにせよ、個人的に使ってみようと思います (^^)
政倉さん、ありがとうございました〜!!
【追記】GitHubでもやってみたよ!!
GitHubではpush時のアカウント認証要らないっすね。
おまけにプレビューもできました (^^)