📘

CS Education の学習ノート(後編)

2023/03/10に公開

The Missing Semester of Your CS Education (日本語版)

  • 前半のリンク

https://zenn.dev/t_tsuge/articles/0dddbf34ccb194

9https://missing-semester-jp.github.io/

  • 後半はGitについて触れられている。
  • Gitに関しては以下の記事も参考になる。

https://www.r-staffing.co.jp/engineer/entry/20190621_1

Git

  • Gitはソースコードの変更履歴を共有するバージョン管理ソフトである。
    • ソースコードが保存されているリモートリポジトリからクローンを行うことで自分のローカルレポジトリで作業ができる。

ブランチ

  • ブランチはソースコードの変更履歴を記録していき、分岐することもできる。
  • 実態はコミットIDを指すポインタである。
    • git checkout [ブランチ名]でブランチを移動することができる。
    • masterブランチはgitのデフォルトブランチ
    • originはリモートレポジトリのURLのプレフィックスを示す(origin/[ブランチ名])

git fetch

  • git fetch [ブランチ名]でfetch先の変更履歴を確認できる。
  • [ブランチ名]はデフォルトではoriginに設定されているのでリモートレポジトリの最新の履歴を確認することができる。

git pull

  • git fetch + git mergeを行う。
  • デフォルトではgit pull origin master
  • HEADは現在作業をしているブランチを指している。
    • HEADの移動はgit checkout [ブランチ名]で行う。
    • HEADがブランチを指していない状態、detached HEADになると履歴の保存ができなくなる。

git rebase -i

  • git rebase -i HEADでコミットをまとめることができる。
  • コミットをまとめるとコミットハッシュ値が変わるのでgit push -fが必要

git log

  • コミットログを見るときに必要。
    • --graphオプションでブランチの分岐が見れる。
    • ログを終えるにはqを押す。

git stash

  • git stash saveで現在の変更を保存し、git stash popで取り出せる。

Discussion