Skip to content

tomatine/github

 
 

Repository files navigation

GitHub演習

この講義ノートについて

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

座学

  • 講義スライド
  • バージョン管理システムとは
  • バージョン管理システムの歴史
  • プログラミングができる人、できない人
  • 講義スライド
  • プロジェクト
  • リポジトリとワーキングツリー
  • コミット
  • インデックスとステージング
  • HEADとブランチ
  • マージ
  • 講義スライド
  • 初期設定
  • Gitの一連の操作
  • git init
  • git add
  • git commit
  • git diff
  • git log
  • git config
  • .gitignore
  • 講義スライド
  • なぜブランチを分けるか
  • ブランチの基本
  • マージ
  • リベース
  • 講義スライド
  • リモートリポジトリとは
  • ベアリポジトリ
  • クローン
  • プッシュ
  • フェッチ
  • 上流ブランチとリモート追跡ブランチ
  • その他知っておいた方が良いこと
    • git remote
    • git pull
    • プッシュしたブランチをリベースしない
  • 講義スライド
  • Gitトラブルシューティング
    • コミットメッセージを間違えた(git commit --amend)
    • 修正を取り消したい(git restore)
    • ステージングを取り消したい(git restore --staged)
    • git checkoutは使わない
    • リモートを間違えて登録した(git remote remove)
    • メインブランチで作業を開始してしまった(git stash)
    • プッシュしようとしたらリジェクトされた
    • 頭が取れた(detached HEAD)
    • リベースしようとしたら衝突した
  • その他の便利なコマンド
    • この部分はいつ誰が書いた?(git blame)
    • このバグが入ったのはいつだ?(git bisect)
  • 講義スライド
  • .gitディレクトリの中身
  • Gitのオブジェクト
    • blobオブジェクト
    • コミットオブジェクト
    • treeオブジェクト
  • Gitの参照
    • HEADとブランチの実体
    • Detached HEAD状態
    • ブランチの作成と削除
    • リモートブランチと上流ブランチ
  • インデックス
    • インデックスの実体と中身
    • ブランチ切り替えとインデックス

演習

  • 講義スライド
  • 初期設定
  • リポジトリの作成(git init)
  • インデックスへの追加(git add)
  • ファイルの修正
  • 自動ステージング(git commit -a)
  • 歴史の確認(git log)
  • VSCodeからの操作
  • 余談:データベース"ふっとばし"スペシャリスト
  • 講義スライド
  • git amendによりコミットが変更されることを確認する
  • git mergeの衝突を解決する
  • git rebaseにより歴史を改変する
  • git rebaseの衝突を解決する
  • git bisectを使ってみる
  • 余談:OSの系譜とドラマ
  • 講義スライド
  • GitHubアカウントを作成とSSH接続
  • ローカルのリポジトリをGitHubに登録
  • Issue管理
  • Projectの利用
  • プルリクエストを作ってみる
  • 余談:天空の城のセキュリティ
  • 講義スライド
  • MNISTの学習済みモデルをウェブで試す
  • 簡単なゲーム作成
  • 余談:余談:CEOからのメッセージ

ライセンス

Copyright (C) 2021-present Hiroshi Watanabe

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

Releases

No releases published

Packages

No packages published

Languages

  • HTML 74.9%
  • Ruby 13.2%
  • TeX 9.9%
  • CSS 1.7%
  • Makefile 0.3%