ekuinox / kaityo256-github

GitHub演習

Home Page:https://kaityo256.github.io/github/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub演習

この講義ノートについて

これは、理工学部の三年学部生向けのGit/GitHubを用いたソフトウェア開発演習のための講義ノートである。概ね一般的な記述となっているが、一部に大学のPC室特有の記述があるので、他大の方が利用される際は注意されたい。4回の座学、4回の実習の、計8回の講義/演習で学ぶ構成となっている。

はじめに

座学

バージョン管理とは

  • 講義スライド
  • バージョン管理システムとは
  • バージョン管理システムの歴史
  • プログラミングができる人、できない人

Gitの仕組みと用語

  • 講義スライド
  • プロジェクト
  • リポジトリとワーキングツリー
  • コミット
  • インデックスとステージング
  • HEADとブランチ
  • マージ

コマンドラインの使い方

Gitの基本的な使い方

  • 講義スライド
  • 初期設定
  • Gitの一連の操作
  • git init
  • git add
  • git commit
  • git diff
  • git log
  • git config
  • .gitignore

ブランチ操作

  • 講義スライド
  • なぜブランチを分けるか
  • ブランチの基本
  • マージ
  • リベース

リモートリポジトリの操作

  • 講義スライド
  • リモートリポジトリとは
  • ベアリポジトリ
  • クローン
  • プッシュ
  • フェッチ
  • 上流ブランチとリモート追跡ブランチ
  • その他知っておいた方が良いこと
    • git remote
    • git pull
    • プッシュしたブランチをリベースしない

GitHubの使い方

  • SSH公開鍵認証
  • Issueの使い方
  • Projectの使い方
  • GitHub Pagesの使い方
  • GitHub Actionsとは
  • フォークとプルリク

Gitの使い方(応用編)

  • 講義スライド
  • Gitトラブルシューティング
    • コミットメッセージを間違えた(git commit --amend)
    • 修正を取り消したい(git restore)
    • ステージングを取り消したい(git restore --staged)
    • git checkoutは使わない
    • リモートを間違えて登録した(git remote remove)
    • メインブランチで作業を開始してしまった(git stash)
    • プッシュしようとしたらリジェクトされた
    • 頭が取れた(detached HEAD)
    • リベースしようとしたら衝突した
  • その他の便利なコマンド
    • この部分はいつ誰が書いた?(git blame)
    • このバグが入ったのはいつだ?(git bisect)

Gitの中身

  • 講義スライド
  • .gitディレクトリの中身
  • Gitのオブジェクト
    • blobオブジェクト
    • コミットオブジェクト
    • treeオブジェクト
  • Gitの参照
    • HEADとブランチの実体
    • Detached HEAD状態
    • ブランチの作成と削除
    • リモートブランチと上流ブランチ
  • インデックス
    • インデックスの実体と中身
    • ブランチ切り替えとインデックス

演習

Gitの操作(基本編)

  • 講義スライド
  • 初期設定
  • リポジトリの作成(git init)
  • インデックスへの追加(git add)
  • ファイルの修正
  • 自動ステージング(git commit -a)
  • 歴史の確認(git log)
  • VSCodeからの操作
  • 余談:データベース"ふっとばし"スペシャリスト

Gitの操作(応用編)

  • 講義スライド
  • git amendによりコミットが変更されることを確認する
  • git mergeの衝突を解決する
  • git rebaseにより歴史を改変する
  • git rebaseの衝突を解決する
  • git bisectを使ってみる
  • 余談:OSの系譜とドラマ

GitHubの操作(基本編)

  • 講義スライド
  • GitHubアカウントを作成とSSH接続
  • ローカルのリポジトリをGitHubに登録
  • Issue管理
  • Projectの利用
  • プルリクエストを作ってみる
  • 余談:天空の城のセキュリティ

GitHubの操作(応用編)

  • 講義スライド
  • MNISTの学習済みモデルをウェブで試す
  • 簡単なゲーム作成

おわりに

参考文献

ライセンス

Copyright (C) 2021-present Hiroshi Watanabe

この文章と絵(pptxファイルを含む)はクリエイティブ・コモンズ 4.0 表示 (CC-BY 4.0)で提供する。

About

GitHub演習

https://kaityo256.github.io/github/

License:Creative Commons Attribution 4.0 International


Languages

Language:HTML 99.8%Language:Makefile 0.2%Language:TeX 0.1%