*

【備忘録】Gitというバージョン管理ツールの勉強会に参加しました。

 

 

ちょうど1週間前の1月20日

広島フロントエンド勉強会 Vol.15」に参加してきました。

 

テーマは、Git 

 

Gitとは、バージョン管理ツールのことで、

Githubが有名です。

 

こんなキャラ見たことあるでしょう?

Githubのキャラクターです。

 

 Git

 

 

 

 

勉強会の会場はおりづるタワー6階ドリームアーツさん。

オフィスから原爆ドームが見れる好立地なオサレスペースです。

 

 IMG 0675

 

 IMG 0669

 

こんなところで仕事できるなんて、

アルファー波十分、クリエイティブな仕事ができそうです。

羨ましい。

 

 

 

 

 

さて、タイトルだけ見ると、IT系以外の人は、

自分に関係ないしー

と思うかもしれませんが、

いやいや、関係大有りかもしれません。

 

パソコンがある職場なら誰でも関係大有りかもです。

 

例えば、企画書を作ってると、フォルダの中身がこんなになってないですか?

 

企画書1.pptx

企画書2.pptx

企画書3.pptx

企画書(最新版).pptx

企画書(完成).pptx

企画書(本当に完成).pptx

 

 

もう、どれが本当の最新版か訳分からないですよね。

 

 

日付で整理してる場合のありますよね。

 

企画書0110.pptx

企画書0111.pptx

企画書0115.pptx

企画書0121.pptx

企画書0125.pptx

 

 

と、独自のバージョン管理をしていて、訳が分かなくなることがあるでしょう。

あのとき、どこを修正しただろうとか、いつのバージョンに戻したいとかで、大変な目にあったこと、絶対あるはずです。

私はあります。

けっしてプログラマーだけのことでは無いはずです。

 

 

そこで、(怪しいセールスマンのようですが)

Gitというバージョン管理ツールを使えば、

チーム全体でバージョン管理が簡単にできるという優れものなのです。

 

 

 

 

 

私はエンジニアでもデザイナーでもなんでもなく、その辺の普通のサラリーマンのおっさんなのですが、なぜか趣味で我流でプログラミングしてます。

 

そんな私がGitを使う機会は、

 

・Ruby on Railsで作ったプロジェクトをherokuでデプロイ

・Upworkのようなクラウドソーシングで協働作業する

 

のようなケースです。

 

なんだ実はGit結構やりこんでるじゃんと思われがちですが、必要に迫られて結果的にGitに触れてるだけで、我流なので、よくわかってなくて使ってるのが実態です。

 

ということで、ずっと知りたかったGitのことの勉強会があると聞き、参加しました。

 

 


 

 

勉強会の内容

 

 

Gitについて 講演4名 + LT3名 の方々から説明がありました。

私のような我流初心者にもよく理解できるような内容でした。

 

 

当日その場でPCでメモしてたことを、備忘録として以下にほぼ当日とったメモ原文のまま綴ります。

(分かりにくいと思いますが、自分の備忘録なので勘弁願います)

 

 

『初歩からのGit』 (広島工業大学4年生)

 Gitとは

・バージョン管理

・変更履歴を確認できる

 

良いところ

・差分の表示

・ローカル と リモート 異なるバージョン管理

・複数人で作業(外部サーバ必要)

 

GIT初心者には、

コマンドを使わないGitあり

SourceTree , Github Desktopなど

 

 

用語

・リポジトリ:変更履歴を管理、差分を格納してる場所、変更履歴の集合体

・ローカルリポジトリ:  自分のPCで

・リモートリポジトリ: ブラウザ上で管理(複数人)、Github有名

Commit:変更を記録する操作、履歴を残すたにコメント入れる

・push:ローカルでした変更履歴をリモートにアップロードすること

・pull:他の人や他の環境で行った変更をリモートからローカルへ

・clone:変更履歴のあったのを丸ごと複製する(ファイル全てを取り込む)

 

まとめ

・Git 便利

・複数人での作業はサービス使おう

・Soucetreeならコマンドなしでもできる

 

 

 

 

 

『Unityで始めるバージョン管理、Git LFS入門編』 (広島Unity勉強会)

 Git LFS

・ゲーム開発はバイナリデータたくさんあるので、GIT LFSがオススメ

・テキストはレポジトリ、バイナリはLFSのサーバに自動的に分けてくれる。

・Git LFSをインストールするだけで使える。(SourceTreeに標準)

 

まとめ

・GIT LFSバイナリ怖くない

・Sourcetree おすすめ

・最悪 unitypackage 使えばいい

 

 

 

『web制作におけるGitフロー』 (ファナフェクト)

 masterで作業すると、

・リリースされるコードにバグが混じる可能性高い

・コンフリクトが発生しやすい

 

したがって、ブランチを活用する

(開発の本流から分岐し、本流の作業を邪魔しない)

 

主なコマンド

・git branch 

・git  checkout

・git merge

 

マージとは?

・分岐した支流を本流に合流させること

・コンフリクトに注意

 

Isuueの活用

・Githubなどにある問題点を登録するリスト

・1つのIssue に1つの問題(バグ)

・タイトルだけで分かるように

・To DOリスト

・登録すると全員にメールがいく

・スレッドでやり取り可能

・ラベルを活用すると効率的

・もっと規模が大きいと git Flow

 

プルリクエスト

・コードの変更をレビュー側に伝える

 ・コードの品質が保垂れる

・コードレビューで勉強になる

 

まとめ

・masterでの作業はダメ

・ブランチを使おう

 

 

 

 

『BitbucketとSourcetree』 (AUG広島)

Atlassian のプロダクト BitbucketSourcetreeを紹介

※Bitbucketについてはメモとっておらず。

 

Sourcetree特徴

Git専用クライアント

・コマンドなしでGitリポジトリの操作ができる

・コードを書くのに集中できる

GUIで可視化、ソースの変更管理を楽にできる

 

Sourcetree 良いところ

・開発環境が異なっても(MacWin)大丈夫

・Gitのコマンド不要、ボタンで操作

・コンフリクトの解消が簡単 (右クリック「競合を解決」というMENUあり)

・ソースツリーが見やすい

 

 

 

なぜバージョン管理を使うのか  (飛び入りの方)

Gitを使う本当の理由:

・変更したら動かなくなった。 ー> 元に戻したい

・変更してないはずなのに動かなくなった ー> 変更してないことを確認したい・

 

 

元に戻したい

git stash save

git reset

 

どこが変わったかか知りたい

git status 

git diff

 

戻したくなる状態をコミットするために

・add

・commit

 

覚え方

・merge とか commitは、自分でAさんと Bさんになりきって並行作業してみる

・壊してもいいファイルでやってみよう

 

あと、

・ターミナルのメッセージの英語をよく読む

・エラーをググる

 

 

【参考図書】

Pro Git

https://progit-ja.github.io/

 

 

 

 

 

以上、


 

 

独学で、ネットや本だけだと、なかなか理解がおぼつきませんので、こういった勉強会はとてもありがたいです。

運営者の方々、どうもありがとうございました。

 

 

 

なお、内容におかしな点などございましたら、教えてくださいね。

 

 

ではでは。

 

 

 

 

 

 

 

 

 

ad

    この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

  • このエントリーをはてなブックマークに追加
この記事が良かったらビットコインで寄付をお願いします。
ビットコイン投げ銭ウィジェット



関連記事

【iPhoneアプリ開発備忘録】 Xcode6 Validate時のエラー「iTunes Store operation failed. No suitable application records were found.」

    アプリが完成、あとはアップルに申請するだけ。   しかし、これからがいつも簡単には終わりませ

記事を読む

「ディスコ プログラミングコンテスト@広島」潜入レポート

    2017年7月8日 「ディスコ プログラミングコンテスト@広島」に参加して来ました。   デ

記事を読む

素人のオッサンが作ったiPhoneアプリのコードを公開するシリーズ第1弾「Mind-Reading」

  私は今まで4作のアプリをApp Storeで公開しています。 https://

記事を読む

【Python 備忘録】pycURLのインストールができない場合の解決方法

  ※ここに記載の事例は、あくまで私個人の備忘録です。 私個人の環境での話ですので、これが本当に正し

記事を読む

【iPhoneアプリ開発備忘録】Unityで作ったアプリにiAdを実装する方法

        UnityにiAdを実装する方法を 何回やっても毎回忘れるので、自分用に備

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

【Raspberry Pi 備忘録】ラズベリーパイのSSH接続時のエラー「POSSIBLE DNS SPOOFING DETECTED! 」「REMOTE HOST IDENTIFICATION HAS CHANGED! 」

Mac のターミナルからラズベリーパイにSSH接続をしようとすると、

【平成30年7月豪雨】江田島にボランティアに行ってきました。

      この度の集中豪雨(平成30年7月豪雨)で私の住む広島県は多

「IoT Conference 2018 デジタライゼーションの未来」 備忘録メモ

  6月15日に、このイベントに参加しました。   IoT Confe

映画『万引き家族』を観て(ネタバレあり)

        (注意)ネタバレあり     カンヌ映画祭でパルムド

「InaHack 2018 1st Session “ideathon”」に参戦!

  6月16日・17日と、長野県伊那市で開催された「InaHack

→もっと見る

    • 306674総閲覧数:
    • 0今日の閲覧数:
    • 350昨日の閲覧数:
    • 1現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑