Save 37% off PRO during our Black Friday Sale! »

Git・GitHub未経験者向け導入講習資料

 Git・GitHub未経験者向け導入講習資料

今回も集合研修での利用も想定したスライド形式で作成しました。

使用するGitコマンドは
 git config --global user.email
 git config --global user.name
 git clone
 git branch
 git checkout
 git status
 git add
 git commit
 git push
 git pull
のみで共同開発を想定したチュートリアルとはなっていません。

また、LinuxまたはGit bushの環境が準備済みなのを前提に説明します。

4651f57d479e562a45dd624cc24dbee3?s=128

nsaito9628

June 01, 2021
Tweet

Transcript

  1. Git/GitHub 未経験者向け導入講習 @Saito5656 2021. 06. 01

  2. 本Hands Onのゴール Git/GitHubの細かな操作方法の説明 Linux環境構築/Git Bushインストール手順の説明 Gitを活用したsource code管理手順の概要把握 develop branchを使った基本操作手順の習得 GitHubのrepository更新手順の習得

    本Hands Onで行わないこと
  3. 実施内容 1.Git userとssh keyの作成 2.GitHubアカウント作成とremote接続 3.Branchによるphase別code管理の概要 4.develop branchを使った操作実習 ①localでの編集作業と履歴入力 ②GitHub上でのpull

    requestとmerge ③local main branchへの変更反映
  4. 1.Git userとssh keyの作成

  5. Ubuntuコンソールを立ち上げて実効 # UbuntuのコンソールからGit user名とuser emailを登録しssh keyを作成 Ubuntu:~$ git config --global

    user.name "【ユーザー名】" Ubuntu:~$ git config --global user.email 【ユーザーemail】 Ubuntu:~$ ssh-keygen -t rsa -b 4096 -C " 【ユーザーemail】 " Ubuntu:~$ chmod 600 ~/.ssh/【ssh-key名】 デフォルト以外にする場合PATHとkey file名を入力 pass phraseを入力
  6. 2.GitHubアカウント作成とremote接続

  7. Hostの登録 User下の.sshにconfigファイルを作りHostを登録する Ubuntu:~/$ cd .ssh Ubuntu:~/.ssh/$ sudo nano config #以下の内容を登録

    Host XXXXXXX HostName github.com User git Port 22 IdentityFile ~/.ssh/”ssh-key名” TCPKeepAlive yes IdentitiesOnly yes ←任意のssh Host名 ↓作成したssh-keyを配置・登録
  8. GitHubアカウント作成 https://github.com/ 指定された絵を選択→

  9. アカウントのverification ↑本来はボタンimageが出る

  10. pub keyの登録①

  11. pub keyの登録② pub keyを張り付け ←SSH keyの名前(任意)

  12. localからGitHubへの疎通確認 configファイルに登録したHostへssh接続する Ubuntu:~/$ ssh XXXXXXX pass phraseを入力↓

  13. 3.Branchによるphase別code管理の概要

  14. 開発・運用の各phase別に管理する仕組み 引用元:https://engineer-life.dev/git-operation-rule/ #以下に示すGitFlowではmainとdevelopで実際の作業は行わない main モジュール別の開発 ←release後のバグ取り等

  15. 4.develop branchを使った操作実習

  16. 4‐①localでの編集作業と履歴入力

  17. GitHub上にprivate repositoryを作成 #repository名をTESTとする

  18. TEST repositoryをlocalにclone 作業directoryを作成してTEST repositoryをcloneする Ubuntu:~$ mkdir develop Ubuntu:~$ cd develop

    Ubuntu:~/develop/$ git clone 【ssh Host名】:【GitHubアカウント名】/TEST.git cloneしたTEST repositoryに移動 Ubuntu:~/develop/$ cd TEST Ubuntu:~/develop/TEST/$ pass phraseを入力↑ ↓repository名
  19. 初期状態はmain、develop branchを作成 branchコマンドで現在あるbranchを確認 Ubuntu:~/develop/TEST/$ git branch *main develop branchを作成してmainにいることを確認 Ubuntu:~/develop/TEST/$

    git branch develop Ubuntu:~/develop/TEST/$ git branch develop *main checkoutコマンドでdevelop branchに移動してdevelopにいることを確認 Ubuntu:~/develop/TEST/$ git checkout develop Ubuntu:~/develop/TEST/$ git branch *develop main
  20. VS Codeでdevelop branchにtest.pyを作成 branchコマンドで現在あるbranchを確認 Ubuntu:~/develop/TEST/$ code ↑develop branch ↓適当なcodeを書いて保存

  21. test.pyをバージョン管理対象に追加 test.pyの現状では管理対象になっていない Ubuntu:~/develop/TEST/$ git status addコマンドでステージングしてGitのcommit対象にする Ubuntu:~/develop/TEST/$ git add test.py

    commitするとエディター(ここではnano)が開くのでコメントを入力して保存 Ubuntu:~/develop/TEST/$ git commit -a
  22. GitHubにpush pass phraseを入力↑ localのdevelop branchをGitHubのremote repositoryにpushする Ubuntu:~/develop/TEST/$ git push origin

    develop
  23. 4‐②GitHub上でのpull requestとmerge

  24. localからpushしたbranchの生成を確認 Compare & pull requestからmargeのためのpull request画面に進む

  25. developからmain branchへのmarge pull request ←commit時のコメント pull requestのmarge pull requestのコメント↓

  26. margeの確認 ここからdevelopを消すことも可能↓ Compare & pull requestからmargeのためのpull request画面に進む

  27. main branchへのtest.py追加を確認

  28. 4‐③local main branchへの変更反映

  29. marge後のremote repositoryをlocalに反映 現在のbranchを確認 Ubuntu:~/develop/TEST/$ git branch *develop main main branchに移動してmainにはtest.pyがないことを確認

    Ubuntu:~/develop/TEST/$ git checkout main Ubuntu:~/develop/TEST/$ ls README.md test.pyがclone出来ていることを確認 Ubuntu:~/develop/TEST/$ git pull Ubuntu:~/develop/TEST/$ ls README.md test.py pass phraseを入力↓
  30. 参考文献 以下の記事を参考に学習・編集させていただきましたことに感謝し御礼申し上げます ⚫ https://eh-career.com/engineerhub/entry/2017/01/31/110000 ⚫ https://engineer-life.dev/git-operation-rule/ ⚫ https://qiita.com/y-okudera/items/0b57830d2f56d1d51692 ⚫ https://engineer-life.dev/git-operation-rule/

  31. END