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

演習:GitHubの操作(基本編) / GitHub Practice Github Basic

演習:GitHubの操作(基本編) / GitHub Practice Github Basic

物理情報工学ソフトウェア開発演習

A10e41b0a61d59f2258d7f6172c33479?s=128

kaityo256
PRO

October 29, 2021
Tweet

Transcript

  1. 1 51 演習:GitHubの操作(基本編) 慶應義塾大学理工学部物理情報工学科 渡辺 物理情報工学ソフトウェア開発演習

  2. 2 51 • GitHubのアカウントを作成する • リモートリポジトリの作成と、ローカルリポジトリとの 同期について学ぶ • issueの使い方の基本を覚える •

    Project(Automated Kanban)の使い方を覚える • プルリクエストを体験する
  3. 3 51 ターミナルからGitHubにアクセスしたいが 他の人に勝手にアクセスされては困る 正当な権利を持つ人だけがアクセスできるようにしたい →SSH公開鍵認証

  4. 4 51 公開鍵暗号とは 普通の鍵:「鍵をかける」鍵と「鍵を開ける」鍵が同じ かける 開ける 公開鍵:「鍵をかける」鍵と「鍵を開ける」鍵が異なる かける 開ける ペア

  5. 5 51 1. 事前に鍵のペアを作成する 秘密鍵 公開鍵 2. 公開鍵をサーバに登録しておく 公開鍵 秘密鍵

  6. 6 51 3. 秘密鍵で鍵をかけた署名をサーバへ送る 秘密鍵で鍵をかける サーバに送る 公開鍵で開く 事前に登録してあった公開鍵で開けることができた →データを送ってきた人は秘密鍵を持っている人だ →アクセスする権利がある人である(認証)

  7. 7 51 GitHubにアクセスして「Sign up」を選ぶ

  8. 8 51 • メールアドレス • パスワード • アカウント名 等を聞かれるので、順番に答える 「Learn

    Git and GitHub without any code!」という画面が出たら登録完了 ブラウザをまだ閉じない事
  9. 9 51 鍵のペアの作成 cd ssh-keygen 鍵を作るコマンド Generating public/private rsa key

    pair. Enter file in which to save the key (/path/to/.ssh/id_rsa): Created directory '/c/Users/watanabe/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: 実行すると以下のような表示になる(順番に聞かれる) 1 2 3 1: どこに鍵のペアを保存するか。/z/.ssh/id_rsaと入力する 2: パスフレーズ(パスワード)を入力(キーを押しても表示されない)。 必ず入力すること。 3: 同じパスフレーズを入力。
  10. 10 51 .ssh id_rsa id_rsa.pub ホームディレクトリ直下に.sshというディレクトリが作られ、 その下に秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作られる 秘密鍵 公開鍵

  11. 11 51 これを選ぶ

  12. 12 51 これを選ぶ

  13. 13 51 これを選ぶ

  14. 14 51 なんでもよい(例えば「Git Bash」) cat .ssh/id_rsa.pub の実行結果 「ssh-rsa」で始まる文字列を改行が入らないようにコピペする 「-----BEGIN OPENSSH

    PRIVATE KEY-----」で始まるファイルは 秘密鍵なので間違えない事 最後におす
  15. 15 51 鍵の確認 ssh -T git@github.com Are you sure you

    want to continue connecting (yes/no/[fingerprint])? yesと入力 Enter passphrase for key ‘/path/to/.ssh/id_rsa': パスフレーズを入力 ここは人によって異なる Hi (GitHubアカウント名)! You've successfully authenticated, but GitHub does not provide shell access. 以下の表示が出れば成功
  16. 16 51 このボタンを押すとホーム画面に戻る 最初は「Create repository」というボタンになっているので、それを押す

  17. 17 51 最後に押す リポジトリの説明 公開/非公開 READMEファイルを作成 ライセンスの設定 (MITを選ぶ)

  18. 18 51 .git リモートリポジトリ リモートリポジトリに(ベア)リポジトリが作成された これをローカルにクローンしたい

  19. 19 51 1. このボタンをクリック 2. 「ssh」を選ぶ 3. このボタンを押すと、リモートリポジトリのURLがコピーされる

  20. 20 51 cd cd github git clone git@github.com:アカウント名/test.git cd test

    ここは先ほどコピーしたはずなので、右クリックからPaste github test ここがカレントディレクトリに .git リモートリポジトリ README.md LICENSE .git git cloneが作るもの
  21. 21 51 ローカルの修正とpush git push ローカルリポジトリ リモートリポジトリ git add git

    commit
  22. 22 51 GitHub上でファイルが更新されていることがわかるスナップショットを提出

  23. 23 51 test2 README.md .git ローカルのリポジトリをGitHubに登録 1. ローカルにリポジトリを作成 2. GitHubにベアリポジトリを作成

    3. リモートを登録してpush
  24. 24 51 cd cd github mkdir test2 cd test2 ここがカレントディレクトリに

    github test2
  25. 25 51 github test2 VSCodeでこのフォルダを開く 新規作成ボタン README.mdを作成

  26. 26 51 git init git add README.md git commit -m

    "initial commit" github test2 README.md .git
  27. 27 51 GitHub上にベアリポジトリを作る 説明 「2nd repository」 Privateを選ぶ チェックを全て外しておく

  28. 28 51 「…or push an existing repository from the command

    line」のコピーボタンを押す
  29. 29 51 git remote add origin git@github.com:アカウント名/test2.git git branch -M

    main git push -u origin main 先ほどコピーした三行を、そのままGit Bashに貼り付けて実行する test2 README.md .git リモートを登録して git push .git リモートリポジトリ
  30. 30 51 push後、GitHubのtest2のページをリロードすると、以下のような画面になるはず このスクリーンショットをレポートとして提出

  31. 31 51 「いま抱えている仕事」を可視化したい どの仕事がどこまで進んでいるかを把握したい 「課題」=Issue Issue Tracking System (ITS)

  32. 32 51 feature_A feature_B main feature_A feature_B GitHubにはITSの機能があり、ブランチやコミットと連携できる

  33. 33 51 1. これから行う作業をissueに登録する(issueを開く)。 2. 登録されたissueのうち、これから手をつけるissue に対応した作業ブランチを作成する 3. 作業ブランチで作業し、修正をコミットする 4.

    メインブランチにマージする(issueが閉じる) GitHubのIssueを使った開発フロー feature_A main issueを開く issueを閉じる
  34. 34 51 GitHubでtestリポジトリのページに移動する ここを押すとホーム画面へ ここから目的のリポジトリを選ぶ

  35. 35 51 Issuesタブを選んでから New Issueボタンを押す

  36. 36 51 1 2 3 3 4 1. タイトル「READMEを修正」 2.

    内容「内容を追加」 3. ラベル「enhancement」を付与 4. 「Submit new issue」でissueを開く
  37. 37 51 cd cd github cd test git switch -c

    feat/1/README GitBashで以下を実行 main feat/1/README ブランチの命名規則は人によるが、ここでは 「ラベルに対応する接頭辞(feat)/issue番号/内容」とする
  38. 38 51 main feat/1/README github/test/README.mdを修正してコミットする git add README.md git commit

    -m "closes #1" コミットメッセージを間違えないこと!
  39. 39 51 git switch main git merge feat/1/README 修正をメインブランチに取り込む main

    feat/1/README
  40. 40 51 git push プッシュするとIssueが自動で閉じる ブラウザでこの画面を表示したまま git pushすると・・・?

  41. 41 51 pushによりissueが閉じられた画面のスクリーンショットを提出

  42. 42 51 カンバン方式 ※オリジナルの「カンバン」はかなり違うらしい Todo (やるべきこと) In Progress (作業中) Done

    (終わったもの) Issueがいまどんな状態にあるかを可視化する
  43. 43 51 Projectの作成

  44. 44 51 「Automated kanban」を選ぶ

  45. 45 51 サンプルカード(3枚)を全てアーカイブする

  46. 46 51 Projectsから「カンバン」を選んでおくのを忘れないこと Issueの作成

  47. 47 51 git switch -c doc/2/README github/testにて、Git Bashでブランチ作成 ブランチを作ったので、対応するカードを In

    progressへドラッグして移動
  48. 48 51 git add README.md git commit -m "fixes #2"

    ファイルを修正してからコミット コミットメッセージを間違えないこと git switch main git merge doc/2/README メインブランチに戻ってマージ この時点ではまだプッシュしないこと
  49. 49 51 ブラウザでProjectsの「カンバン」を表示させた状態でgit pushする git push

  50. 50 51 issueに関連づけられたカードが「Done」に移動した画面のスクリーンショットを レポートとして提出

  51. 51 51 このボタンを押してフォークする(数字をクリックしないこと) あとは課題の指示に従ってプルリクエストを作ること