Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git-study-Hackz-treasure

 Git-study-Hackz-treasure

Git勉強会 - ハックツトレジャー
https://hackz.connpass.com/event/131770/

ハックツトレジャーとは...
株式会社ハックツが主催するTech系勉強会。
隔月で開催するハッカソン「ハックツハッカソン」とともに、福岡の学生エンジニアコミュニティのさらなる発展と、個々の技術力向上を目指して運営しています。

Keisuke Mori

May 26, 2019
Tweet

More Decks by Keisuke Mori

Other Decks in Technology

Transcript

  1. アジェンダ - 講義編 • バージョン管理とは • バージョン管理の何が嬉しいの? • Git と

    GitHub どう違うの? • 操作で使う用語を知ろう • コミット • ブランチ • クローン、プル、プッシュ • マージ • Git を使った開発の流れを知ろう • ひとりで開発する例 • チーム開発をする例 9
  2. Git と GitHub の違い バージョン管理を行うしくみ。 「分散バージョン管理システム」のこと 類似のものとして、Subversion や CVS がある

    13 リモートリポジトリを管理してくれるWebサービス GitLab, Bitbucketなど類似サービスあり とりあえず登録しておこう。
  3. プッシュ(push) リモートリポジトリにローカルリポジトリの内容をアップロードすること 29 こんなときに! • とりあえず Commit したら Push する

    • バックアップになる(手元のマシンがお亡くなりになっても何とかなる) • 他の人が変更を把握できる ここ注意! • 誰かとファイルの変更内容が被ったら コンフリクト を起こすこともある • 後半のハンズオンでコンフリクトの話をします
  4. マージ(merge) 現在のブランチに対して、別のコミットの変更内容を統合する 31 develop  master と develop   最後の共通コミット master

    コミット A, B, C の変更が 含まれた ”マージコミット” が master の先頭に追加される A B C develop After
  5. リセット(reset) 状態を前に戻すコマンド とりあえず —soft と —hard の2種類あるのを覚えておこう (ハンズオンでやります) 32 こんなときに!

    • ミスった!さっきのコミットやめたい!(変更したファイルは残したい)
 → - - soft • さっきの git add やっぱなし!
 → 引数なし • 変更したファイルも消す!とりあえず前に戻す!  → - - head
  6. 個人でやってみる - イチから作るVer. 1. ローカルリポジトリを作成する 2. リモートリポジトリを作成する(GitHub) 3. リモートリポジトリを設定する 4.

    ファイルをいじる 5. いじったファイルをステージングに追加する 6. コミットする 7. プッシュする 34
  7. 複数人でやってみる 1. ブランチの運用ルールを決める 2. 代表者がリモートリポジトリを作成する(GitHub) 3. リモートリポジトリにコラボレーターを追加する 4. 該当のリポジトリをクローンする 5.

    作業用ブランチを切る 6. ファイルをいじる 7. いじったファイルをステージングに追加する 8. コミットする 9. プッシュする 10.メインのブランチにマージする 36
  8. アジェンダ - ハンズオン編 • 基本コマンドを知る • GitHubの設定 • 個人でやってみる -

    イチから作るVer. • 個人でやってみる - 既存のリポジトリをさわるVer. • 複数人でやってみる 40
  9. diff 変更を確認する - ファイル名を指定:該当ファイルの変更を表示 - コミットIDを指定:該当コミットでの変更を表示 44 git diff มߋΛݟ͍ͨϑΝΠϧ໊

    or σΟϨΫτϦ
 git diff ίϛοτID こんなときに! • あれ、このコミットってどこを変更したのかな? • このファイルどこ変更したか確認したいな
  10. add , commit Add : 変更をステージングに反映させる Commit : 変更履歴を保存する 45

    git add Readme.md git add . git commit -m “ίϛοτϝοηʔδ” git commit -am “ίϛοτϝοηʔδ”  git add . と  git commit -m を  同時にやってくれる  変更を全部ステージングに  登録する
  11. pull リモートリポジトリの変更履歴をローカルリポジトリに反映させること 47 git pull origin master git pull -u

    origin master  -u オプションをつけると、次回以降  git pull と打つだけで origin master をPullしてくれる
  12. branch - 何もつけない → 現在のブランチを表示 - -a オプションをつけると → リモートのブランチも表示

    - 任意の名前をつける → 現在のブランチを親に、新しくブランチを切る 48 git branch git branch -a git branch develop  現在のブランチ(master)を親に、  新しく develop ブランチを切る。  ※これを行ってもブランチは移動していないので注意
  13. checkout - 作業ブランチを切り替える 49 git checkout develop git checkout master

    ここ注意! • ローカルの変更内容をコミットせずにブランチを切り替えることはできない 他にも特定のCommitをチェックアウトできたりするが、今回は取り扱いません。  git stash を使うと変更をコミットせずにブランチを切り替えれますが、今回は取り扱いません。 気になる人は調べてみましょう。
  14. コンフリクトについて 変更箇所が被ると “コンフリクト” が起きます。 コンフリクトが起きた場合は手動で解決しないといけません…… 53 <<<<<<< HEAD # ݱࡏ࡞ۀதͷϒϥϯνͰͷมߋ಺༰

    ɾɾɾ ======= # develop(Ϛʔδͨ͠ϒϥϯν)Ͱͷมߋ಺༰ ɾɾɾ >>>>>>> develop 例:作業中のブランチにdevelopブランチをマージしようとしてコンフリクトした場合  ====== より  上が自分の変更  下がマージしたブランチの変更
  15. コマンドチートシート 54 変更箇所をステージングに登録  git add 任意のファイル名  git add . (すべてのファイルに適用する場合)

    コミット  git commit -m “コミットメッセージ” プル  git pull origin ブランチ名 プッシュ  git push origin ブランチ名 新しくブランチを切る  git branch 新しいブランチ名 作業ブランチを変更する  git checkout ブランチ名 現在のブランチにマージする  git merge マージしたいブランチ名
  16. GitHub Education を使ってみよう(学生限定) GitHub Educationを使うと…  - GitHub Proライセンスがタダ  - Heroku

    の Hobby Dyno が1つタダ  - AWS 無料クレジットがもらえる  - その他特典がめっちゃある 57 • ウマミが多い(学生って最高だね) • 学校の ac.jp のメールアドレスがあれば登録がとても楽 • 利用目的を英語で作文する必要がある(簡単に書いてOK) 登録と詳細は→ https://education.github.com/
  17. ハックツハッカソン - アロ杯 日程 :6/22(土) — 6/23(日) 会場 :天神某所 テーマ:社会人 vs. 学生

    61 MVP賞 Amazon echo spot • 学生は交通費支給(上限1000円) • 宿泊場所提供(ここ) • 懇親会あり • スポンサー企業さんからFBあり エントリーはこちら https://cup.hackz.team/allo