クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

Git のブランチの作り方と切り替え

このレッスンのあとで: ブランチで作業し、ブランチを切り替えることができる。

55分のレッスンコマンド12件Git と Gitea のラボ:自分専用の Git サーバーでクローン、コミット、プッシュを学ぶ

ブランチとは何か

Git のブランチは、作業の流れを分けて、別々に進めるためのしくみです。ブランチで変更しても、もとの流れは変わりません。

食堂のメニューを考えます。お茶を足すかどうかを試している間も、今のメニューは使い続けたいはずです。ブランチなら、試しながら、本番を守れます。

このレッスンのゴール

メモ

ブランチで作業し、ブランチを切り替えることができる。

大事な言葉

ことばいみれい
ブランチ名前の付いた、コミットの流れ(branch)git branch
HEAD今いるブランチの先頭を指すしるし
切り替え作業するブランチを変えること(switch)git switch main
main本番の流れに付ける、ふつうの名前のブランチ
コミットグラフコミットとその親子の関係を、線でつないだ図

学生が入力するセルは、このプレビューでは空白です。

練習用のメニューを用意する

最初に、練習用の小さなリポジトリを作ります。メニューのファイルを1つ作って、最初のコミットをします。

名前をまだ教えていないなら、次の2行を先に打ちます。レッスン1で済ませていれば、要りません。

名前を教える2行(例)

コード: bash
git config --global user.name "Student"
git config --global user.email "[email protected]"

リポジトリを作る

コマンド
git init -q -b main menu

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

メニューのファイルを作る

コマンド
printf "curry 900\nramen 800\n" > menu/menu.txt

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ステージに置く

コマンド
git -C menu add menu.txt

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

最初のコミット

コマンド
git -C menu commit -q -m "メニューを始める"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ブランチは、コミットを指す名前

ブランチの正体は、あるコミットを指す名前です。新しいコミットを作ると、今いるブランチの名前が、そのコミットまで進みます。

git switch -c add-tea は、add-tea という新しいブランチを作って、そこへ移ります。git branch は、ブランチの一覧を出し、今いるものに * を付けます。

ブランチを作って移る

コマンド
git -C menu switch -c add-tea

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ブランチの一覧を見る

コマンド
git -C menu --no-pager branch

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ブランチのコミットは、そのブランチだけに入る

add-tea の上で、メニューにお茶を足してコミットします。このコミットは、add-tea にだけ入ります。

log --graph は、コミットの親子を線で描きます。%d は、そのコミットを指しているブランチの名前を、括弧で出します。

お茶を足す

コマンド
printf "tea 300\n" >> menu/menu.txt

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ブランチでコミットする

コマンド
git -C menu commit -q -am "お茶を足す"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

グラフで見る

コマンド
git -C menu --no-pager log --graph --all --format="%s%d"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

切り替えると、ファイルも切り替わる

git switch main で戻ると、作業ツリーのファイルが、main の内容に変わります。お茶の行は、見えなくなります。消えたのではなく、add-tea の中に残っています。

main..add-tea は、「add-tea にあって、main にない」コミットを指します。

main に戻る

コマンド
git -C menu switch main

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ファイルを読む

コマンド
cat menu/menu.txt

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

add-tea だけのコミット

コマンド
git -C menu --no-pager log --format="%s" main..add-tea

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

よくある間違い

注意

「ブランチを切り替えたら、変更が消えた」と慌てる人が多くいます。変更は消えていません。別のブランチに残っています。git switch で戻れば、また見えます。

このラボとソースについて: Git と Gitea のラボ:自分専用の Git サーバーでクローン、コミット、プッシュを学ぶ

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。