仕組みから理解する Git 入門 ~ ひとり開発でも便利 ~

仕組みから理解する Git 入門 ~ ひとり開発でも便利 ~

配信動画はこちら
https://www.youtube.com/watch?v=qerW4vBftNA

もし良かったらムーザルちゃんねるのチャンネル登録お願いします!
https://www.youtube.com/channel/UCLPHXwLp90A5R69Eltxo-sg

Twitter でもプログラミングネタをつぶやいているのでフォローお待ちしております。
ムー
https://twitter.com/mu_vpoe
zaru
https://twitter.com/zaru

C302e84057a922dce0ecbe80207e3fcc?s=128

mu_zaru

July 02, 2020
Tweet

Transcript

  1. 仕組みから理解する Git 入門 〜ひとり開発でも便利〜 YouTube Live (2020.07.02 Thur. 21:00~) CTO

    と VPoE が初学者向けに講義する オンライン勉強会です。 随時質問なども受け付けていますので、 お気軽にどうぞ。 ハッシュタグ #mu_zaru
  2. 話す人 現役のエンジニア二人 赤貝が好きな CTO と デザイン勉強中のエンジニア @mu_vpoe エンジニアリングMgr。 チームづくり、採用。 Twitter

    担当。 数学が好き。 ムー zaru @zaru CTO, Love 赤貝, JavaScript, Firebase, Web Components.
  3. Git は バージョン管理ツール

  4. バージョン管理とは 変更履歴を管理すること ファイル 作成する ムーザルちゃんねる始めます。 バージョン1

  5. バージョン管理とは 変更履歴を管理すること ファイル 作成する ムーザルちゃんねる始めます。 ファイル 追記する ムーザルちゃんねる始めます。 次回の放送は5分で作るアプリです。 変更した履歴

    を取っておく こと バージョン1 バージョン2
  6. バージョン管理のメリット

  7. 変更履歴があると 元に戻せる ファイル コード 書いたぞ 6/20

  8. ファイル v1 コード 書いたぞ ファイル v2 機能を追 加したぞ バージョン2へ 6/20

    6/24 変更履歴があると 元に戻せる
  9. ファイル v1 コード 書いたぞ ファイル v2 ファイル v1 機能を追 加したぞ

    やっぱり 戻したい バージョン2へ バージョン1へ戻す 6/20 6/24 7/1 変更履歴があると 元に戻せる
  10. 変更履歴があると 振り返れる みんなで同じファイルを 編集した場合、変更履歴 があれば、いつ誰がどん な修正をしたのか振り返 ることが可能。 ファイル コード 書くぞ

    ファイル 機能追加 しよう 修正 しよう Aさん Bさん Cさん ここは 削除しよう Dさん Aさん 誰がこの修正 をしたんだろ う?
  11. みんなで同じファイルを 編集した場合、変更履歴 があれば、いつ誰がどん な修正をしたのか振り返 ることが可能。 ファイル コード 書くぞ ファイル 機能追加

    しよう 修正 しよう Aさん Bさん Cさん ここは 削除しよう Dさん Aさん 誰がこの修正 をしたんだろ う? この意味不明な コード、誰が書 いたんだ? あ、昨日の 自分だった… 個人開発であっても 昨日の自分は他人 という 観点でバージョン管理をした方がいい。 変更履歴があると 振り返れる
  12. バージョン管理のやり方

  13. 最も原始的な管理は ファイルコピー ファイル 記事.txt ファイル 記事_20200621.txt ファイル 記事_20200618.txt 変更するたびにファイルを コピーして名前をつけておく…

  14. 最も原始的な管理は ファイルコピー ファイル 記事.txt ファイル 記事_20200621.txt ファイル 記事_20200618.txt 変更するたびにファイルを コピーして名前をつけておく…

    あ、コピー するの忘れた… 記事_最新.txt 記事_最終修正済み.txt 記事_最終修正済み(1).txt カオスなファイル名になりがち 作業ミスが発生したり Git を使えば、いくつかのコマンド操作で 全部自動でよしなに管理してくれる
  15. Git バージョン管理のやり方

  16. Git の管理イメージ v3 v2 v1 ファイルの変更履歴 データが Git に管理 され、蓄積している

    ファイル コード 書いたぞ
  17. working tree ファイル index ファイル repository ファイル add commit Git

    の 操作と 流れの イメージ 作業をする場所 履歴を保存する候補 履歴データ Git に追加してねと お願いをするコマンド Git に保存してねと お願いをするコマンド add や commit と いったコマンドを 使って Git に管理 をしてもらう
  18. Git と GitHub リモートリポジトリ

  19. working tree ファイル index ファイル local repository ファイル add commit

    GitHub はリモート保管所 remote repository ファイル push GitHub GitHub は Git のデータを保存してくれるサー ビス。インターネット上に置いて、色んな人が ファイルにアクセスすることができる。 Git に GitHub に送信して ねとお願いするコマンド
  20. GitHub ファイル コード 書いたぞ 改良しよう 不具合 直そう GitHub でチーム開発 GitHub

    にデータが集約されているので、色んな人が Git を使って開発をすることができる。また、個人でも違う パソコンでの開発もやりやすくなる。
  21. 実際に git を使ってみる!

  22. 今日使うコマンド # 少なくとも、概念から覚えてほしい git init git add git commit #

    できれば使ってみてほしい git status git log git branch
  23. git init で初期化する Git で管理すると言う宣言を git init コマンドで行う。 全てはこのコマンドから始まる。 git

    init
  24. git init で初期化する $ cd ~/Desktop/sample_project $ git init ここで

    git init したら、ここ以下の フォルダやファイル全てが Git 管理 になる
  25. Git の実体は .git フォルダ .git と言う不可視フォルダに、全て の履歴データが保存されている。 このフォルダを削除すれば Git の管

    理は全てリセットされ、なくなる。
  26. 実際に git add / commit する

  27. git add の使い方 working tree ファイル index ファイル repository ファイル

    add commit 変更ファイルを index に登録する。 (厳密には変更した箇所を登録することができる)
  28. git add の使い方 add ファイル名で、変更履歴を記録する対象に追加します。 ファイル名は * などのワイルドカード指定や . で全ファイルという指定が可能です。

    git add ファイル名 git add file*.txt # file1.txt や fileA.txt など git add . # 今いるディレクトリのファイル全て
  29. git commit の使い方 working tree ファイル index ファイル repository ファイル

    add commit Repository に変更を記録。 このとき変更内容を、文章で記載しておく必要がある。 この文章をコミットメッセージと言う c3 c2 c1 index.html ファイル を追加 Hoge クラスを追加 hoge メソッド を追加 ※コミットメッセージ
  30. git commit の使い方 commit コマンドで add したファイルを対象に、変更履歴を記録 します。コミットメッセージを指定することで、何の変更をした のかを分かりやすくします。 git

    commit -m 'コミットメッセージ' git add zaru.txt # zaru.txt を対象に追加 git commit -m 'zaru のプロフィールを編集' # 記録 どんな内容をコミットしたのかが分かるようなメモを書ける
  31. コミットを特定する commit ID commit ID commit したら自動で発 行されるこの文字列は commit ID

    (通称) と言わ れるもので、コミットを 特定するためのキーワー ドのようなもの。 40文字だが、先頭の7文 字で省略して使ったりす る。
  32. 状況を見る git status ファイルを修正したり add した時に、今どういう状況だっ け?というのを確認するには status コマンドを使います。 git

    status 修正して git add した 修正したけど add してない
  33. 記録を見る git log commit で記録した差分は git log コマンドで確認ができます。 git log

    いろいろなオプションがあり、最も覚えられないコマンドのよう な気がするので、素直に Git クライアントアプリを使った方が効 率的です(個人の見解)。
  34. オススメ Git クライアント Fork 両方とも Windows / macOS 対応。 Sourcetree

    は完全無料。Fork は評価版であれば無料。
  35. add してない add した コミットログ一覧 修正差分

  36. Git 基本的な使い方 ~ ひとり開発でも便利 ~

  37. コードを残して 色々試したい ブランチを使えば、今のコードを残したまま別の環境を作ること ができる。ブランチは何個でも作れ、切り替えが可能。 C C C master C C

    feature ブランチ名 master ブランチを残したまま、 コピーして新しくブランチを作る ことができる。 ブランチは 切り替えが 可能 コミット メインブランチ 別ブランチ
  38. ブランチ操作 switch / branch ブランチの切り替えや、作成は switch を使う。 git switch ブランチ名

    # 指定ブランチに切り替え git switch -c 新しいブランチ名 # 指定ブランチを作成 ブランチの一覧表示や削除は branch を使う。 git branch   # ブランチ一覧を表示 git branch -d ブランチ名 # 指定ブランチを削除
  39. 試した成果を merge で反映 別のブランチのコミットを持ってきて反映させることを マージ merge と言う。 C C C

    master C C feature 無事、マージできたら、 このブランチは削除する こちらに反映させる コミット C ここで作業した内容を C
  40. ブランチ操作 merge 指定した他のブランチにあるコミットを、今のブランチに反映す ることができる。 git merge ブランチ名 # 指定ブランチをマージ

  41. 前の状態に戻す 特定のコミット時点までファイルの変更を戻すことができます。 いろんなやり方がありますが、今回は restore コマンドを使いま す。 C C C master

    C C C C master C このコミット時点に戻す
  42. 元に戻す restore restore は色々な方法でファイルの修正を戻すことができます。 git restore . --source 戻したい場所 #

    指定位置まで戻す git restore . --source HEAD~2 # 2個前のコミットまで全て戻す C C C master C C C C master C HEAD HEAD~1 HEAD~2
  43. ありがとうございました! 次回も…未定です…が! いつも通り YouTube ライブ、もしくは普通の編集動画どちらかを お届けします。告知は Twitter でします。 @mu_vpoe 質問感想など呟いていただけると嬉しいです!

    ハッシュタグ #mu_zaru