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

GitHub入門スライド

 GitHub入門スライド

Recursionのチーム開発でGithubのハンズオンをやることになったので、その際に使うスライドです。

Ushijima Kazuto

March 05, 2022
Tweet

More Decks by Ushijima Kazuto

Other Decks in Programming

Transcript

  1. Git と GitHub のハンズオン 2022.03.05 Git とGitHub のハンズオン 1

  2. スライド内容 チームメンバーのGit レベル向上のために作ったハンズオン的なスライ ドです。 取り急ぎ作ったスライドになるので、画像などがないことには目を瞑 っていただけると幸いです。 Git とGitHub のハンズオン 2

  3. Git とは 参考文献 【初心者向け】Git とは何なのか。基本用語やその仕組みをまとめてい ます。 Git とは、分散型バージョン管理システムです。といっても分かり にくいのですが、ざっくりいうとファイルのバージョン管理が簡 単にできるツールといえます。

    “ “ Git とGitHub のハンズオン 3
  4. GitHub とは 参考文献 GitHub とは?使い方や知っておきたい知識を解説! GitHub 上で、エンジニア各々が公開用のプログラムをアップして 自分以外のエンジニアに共有。その後、履歴を残しながら更新し たり、自分以外のエンジニアも修正を加えることが可能です。 “

    “ Git とGitHub のハンズオン 4
  5. git-flow 私個人もよく理解しているわけではありません。個人で参考文献など を読むことをおすすめします らしいです。 大切なことは 「どのブランチで作業するかをちゃんと理解して、適切 にブランチを切り開発を行いましょう。」 ということだと思います。 「git-flow 」はVincent

    Driessen 氏の「A successful Git branching model 」を基にしたワークフローです。他のワークフローと比べ ると、大規模で複雑な構成になっています。 “ “ Git とGitHub のハンズオン 5
  6. それぞれのブランチの役割 メインブランチ main(master) 本番環境で動いているブランチ バグがないことが望まれます Git とGitHub のハンズオン 6

  7. サブブランチ (hotfix) 今回の開発では扱わない予定です (release) 今回の開発では扱わない予定です Git とGitHub のハンズオン 7

  8. develop main(master) が本番環境に対して、develop はデモ環境と言えま す develop へのmerge にはPR レビューが必要になります PR

    レビューとはPull Request に対するレビューのことです Pull Request で他の人からApprove をもらうことでマージがで きます 絶対ではありません Git とGitHub のハンズオン 8
  9. feature 機能を開発するブランチです 勤務している会社の場合 issue1233_hoge みたいなブランチ名で す 参考文献 【図解】git-flow 、GitHub Flow

    を開発現場で使い始めるためにこれだ けは覚えておこう Git とGitHub のハンズオン 9
  10. よく使うコマンド だいたいこれ知っときゃなんとかなるコマンド集 fork 既存のリモートリポジトリを自分のリモートリポジトリにする fork するリポジトリへの貢献が前提 今回の場合はrecursion-team-o/typing-game 手順 コマンドはありません。今回はブラウザで行います Git

    とGitHub のハンズオン 10
  11. clone リモートリポジトリをローカルリポジトリにする リモートのコードをローカルに落とす 手順 ブラウザからリンク先を取得します git clone [ 先ほど取得したリンク] Git

    とGitHub のハンズオン 11
  12. ちなみに 私はVSCode ユーザーなのですが、VSCode ではswitch からpush ま でをコマンドなしで行うこともできます ブランチはVSCode の標準機能を使ってきることがほとんどです。 (

    個人の意見) Git とGitHub のハンズオン 12
  13. switch or branch -c 新しくブランチの作成を行います よく「ブランチを切る」と言います 手順 git switch -c

    新しいブランチ名 or git branch -b 新しいブランチ名 Git とGitHub のハンズオン 13
  14. add ファイルへの修正をインデックスツリーに登録します 詳しいことを知りたい人は以下の記事を読んでください 手順 // それまでに行った全ての修正をadd する git add -A

    // 特定のファイルやディレクトリをadd する git add [ ファイル名] Git とGitHub のハンズオン 14
  15. restore add をなかったことにしたいときに使います インデックスツリーから削除します 手順 git restore [ ファイル名] Git

    とGitHub のハンズオン 15
  16. commit インデックスツリーに登録した(add した) ファイルをローカルリポジ トリにコミットします commit への正しい説明になっておらず、、。すいません 手順 git commit

    -m ' コミットメッセージをここに書きます' Git とGitHub のハンズオン 16
  17. push これまでの修正(commit など) をリモートリポジトリに送信します 手順 git push [ リモートリポジトリ名 or

    エイリアス名] [ ブランチ名] Git とGitHub のハンズオン 17
  18. fetch 指定したリポジトリからコードを取得します 取得するだけで取り込むことは行いません merge で取り込みます 手順 git fetch [ リモートリポジトリ名

    or エイリアス名] Git とGitHub のハンズオン 18
  19. merge 指定したブランチを現在のブランチに取り込みます 取り込んだブランチとの競合がある場合にはコンフリクトが発生し ます コンフリクトが起きること自体は問題ない 手順 git merge [ ブランチ名]

    Git とGitHub のハンズオン 19
  20. pull fetch + merge を行います 手順 git pull [ リモートリポジトリ名

    or エイリアス名] [ ブランチ名] Git とGitHub のハンズオン 20
  21. Issue コードに対する修正や追加を行う前にどのような修正を行うのか、 仕様はどのようなものかを書きます アジャイル開発で言うところのEpic もここに入ります 参考文献 Issue について GitHub のIssue

    を使って、GitHub での作業に関するアイデア、フ ィードバック、タスク、バグを追跡してください。 “ “ Git とGitHub のハンズオン 21
  22. Pull Request 修正が終わったfeature ブランチをdevelop ブランチに統合(merge) する申請を出すようなもの 申請なので承認が必要です 承認とは他人によるRP レビューとApprove のこと

    Pull Request が承認されるとdevelop やmaster に対する統合(merge) が可能になります リポジトリへの、変更の提案、または変更における共同作業をす るには、プルリクエストを作成できます。 これらの変更は「ブラ ンチ」を介して提案され、デフォルトブランチには完成してい て、かつ承認された作業のみが含まれるようにします。 “ “ Git とGitHub のハンズオン 22
  23. Git とGitHub のハンズオン 23