Coder Social home page Coder Social logo

github's Introduction

View on 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)で提供する。

github's People

Contributors

ekuinox avatar kaityo256 avatar nhayato avatar sutatoruta avatar toof-jp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

github's Issues

フォルダーを開く

PC室はネットワーク越しなので、「フォルダーを開く」が難しい。
PC室でスクリーンショットを取る。

Typo: git lone --online

わかりやすい講義ノートを公開してくださり、ありがとうございます。
Typoの共有です

https://github.com/kaityo256/github/blob/main/advanced/README.md#%E9%A0%AD%E3%81%8C%E5%8F%96%E3%82%8C%E3%81%9Fdetached-head の1つ目のコードブロックに

$ git lone --online

とありますが

$ git log --oneline

のtypoと思われます。

https://github.com/kaityo256/github/search?q=online と検索したところ、この1箇所を直した後、advanced/index.html を更新する必要がありそうです

Projectの画面修正

Projectの作成画面が「Add project」から「Link a project」に変化したのでスクリーンショットを修正する。

演習第一回のスライド

演習第一回のスライドのスライドで

mkdir github
cd github

の例を実行してしまう人が多い。課題PDFの進展に合わせて書き直す。

git checkoutについて

今はgit switchやgit resetを使えば良く、git checkoutは使わなくて良いことを説明。
昔はgit checkoutでやっていたので、検索するとそれが出てきてしまうことも説明する。

git pushのコマンドを詳細に

Tyrano Scriptの最後で、ローカルでの動作が済んだら、

git add .
git commit -m "update"
git push

とする、と明記してしまう。

.sshの確認

すでに.sshがある人向けの処理を削除。

no-ffマージの理由

「ブランチ操作」でffマージ可能なのに-no-ffを付ける意味について追記する。

VS Codeでのコミット

コミットメッセージを入れ忘れるとCOMMIT_MSGというファイルが開かれるので、それについて追記すること。

sshの仕組みを追加

特にパスワードとパスフレーズの違いについて
なぜ秘密鍵をパスフレーズで守るか

演習第一回のスライド修正

作業ディレクトリをgithubに統一したことにより、VSCodeでgithub/testを開く手順のスクリーンショットを修正。

改行コード

警告がでて鬱陶しいので

git config --global core.autoCRLF false

させてしまおう。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.