📘
CS Education の学習ノート(後編)
The Missing Semester of Your CS Education (日本語版)
- 前半のリンク
9https://missing-semester-jp.github.io/
- 後半はGitについて触れられている。
- Gitに関しては以下の記事も参考になる。
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は現在作業をしているブランチを指している。
- HEADの移動は
git checkout [ブランチ名]
で行う。 - HEADがブランチを指していない状態、detached HEADになると履歴の保存ができなくなる。
- HEADの移動は
git rebase -i
-
git rebase -i HEAD
でコミットをまとめることができる。 - コミットをまとめるとコミットハッシュ値が変わるので
git push -f
が必要
git log
- コミットログを見るときに必要。
-
--graph
オプションでブランチの分岐が見れる。 - ログを終えるには
q
を押す。
-
git stash
-
git stash save
で現在の変更を保存し、git stash pop
で取り出せる。
Discussion