ブランチって何?
並行して複数機能を開発するための仕組み
ほかの人の変更に影響を受けずに自分の開発を行える。
ブランチの仕組み
その前にGitのデータの持ち方を確認
リポジトリ
1. 各ファイルの圧縮ファイル index.htmlの圧縮ファイルA
2. ツリー git commit
によって作成される。コミットしたときのスナップショット。「index.htmlはこの圧縮ファイルですよ」という情報)
3. コミットファイル git commit
によって作成される。コミットについての情報(ツリー、作成者、日付、コミットメッセージ)
tree ツリー1
author Kenta May 12 2019
parent 051Bd (ハッシュ化されたコミットID)
"最初のコミット"
コミットはスナップショットを記録すること。
各コミットは、親コミットを持っている。
ブランチ:コミットIDを持ったポインタ。常に、そのブランチの最新のコミットを指し示す。
HEAD:今現在、自分が作業しているブランチを指すポインタ。
ブランチもHEADもリポジトリの中に保存されている。
ブランチを新規追加
git branch <ブランチ名>
ただ新規のブランチを作るだけで、HEADの移動は行われない。
ブランチ一覧と、HEADを確認
git branch
リモートリポジトリのブランチも含めて表示
git branch -a
-a
: "all"
どのブランチがどのコミットを指しているかの確認
git log --oneline --decorate
--oneline
は短く表示したいからつけてるだけ。
ブランチの切り替え = HEAD を移動する
git checkout <ブランチ名>
ブランチを新規作成して、さらにそこに移動。
git checkout -b <新規ブランチ名>
これは、git branch <新規ブランチ名>
+ git checkout <新規ブランチ名>
と同じ。