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

無料レッスン

Git の基本 2:ブランチとマージ

レッスン全文をここで読めます。無料アカウントを作成すると、実際のラボで実践できます。

コンテナラボ読了目安 13分コマンド14個

このレッスンでやること

ブランチは、同じリポジトリの中の、別の作業の流れです。自分のブランチで変更すれば、もとのブランチ(main)はそのままです。満足したら、自分のブランチをマージ(統合)して戻します。チームでは、変更のたびにこれを行います。このラボの Gitea にもともと入っているリポジトリ hello-git で、1 回やってみましょう。

始める前に

メモ

このレッスンの上にあるバーのラボを起動を押し、「実行中」と出るまで待ちます。Gitea は、バーの Gitea のリンクから開きます。下の実行ボタンは、それぞれのコマンドをラボのターミナルに順番に入力します。すべて同じセッションで動きます。様子を見たり、自分でコマンドを打ったりしたいときは、バーのターミナルを開く(新しいタブ)を押します。

1. Git に名前を教えて、リポジトリをコピーする

Git は、コミットのたびに名前を必要とします。そのあと git clone が、Gitea から hello-git を、ホームフォルダ ~ の中の同じ名前の新しいフォルダにコピーします。cd はそのフォルダに入ります。中には、ファイルが 2 つ、コミットが 2 つ、すでに入っています。「Git の基本」を先にやった人は、~/ を忘れないでください。付けないと、コピーがそのレッスンのフォルダの中に入ってしまいます。

コマンド
git config --global user.name "Student"

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

コマンド
git config --global user.email "[email protected]"

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

コマンド
git clone http://student:student@gitea:3000/student/hello-git.git ~/hello-git

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

コマンド
cd ~/hello-git

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

2. 自分のブランチを作る

git switch -c my-change は、my-change という新しいブランチを作り、そこへ移ります。これ以降のコミットはこのブランチに入り、main は動きません。

コマンド
git switch -c my-change

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

3. 変更してコミットする

訪問者リストに自分の行を足し、ステージしてコミットします。Git の基本と同じ 3 つの手順です。git log --oneline を実行すると、もとからあった 2 つのコミットの上に、あなたのコミットが見えます。

コマンド
echo "Your Name" >> visitors.txt

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

コマンド
git add visitors.txt

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

コマンド
git commit -m "Add my name to the visitors list"

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

コマンド
git --no-pager log --oneline

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

4. ブランチをプッシュする

ブランチは、プッシュするまで自分のパソコンにしかありません。-u origin my-change で Gitea に送り、送り先も覚えさせます。git branch -a を実行すると、両側のブランチが一覧に出ます。Gitea は、プルリクエストを作るためのリンクも表示しますが、それは http://localhost で始まり、あなたのブラウザからは開けません。次のステップで、バーの Gitea のリンクを使ってください。

コマンド
git push -u origin my-change

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

コマンド
git --no-pager branch -a

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

5. Gitea でマージする

バーの Gitea のリンクを押し、ユーザー名 student、パスワード student でサインインします。student/hello-git を開き、Pull Requests(プルリクエスト)、New Pull Request(新しいプルリクエスト)の順に押します。my-change を main にマージするよう選び、Create Pull Request を押して、最後に Merge(マージ)を押します。プルリクエストは、チームでブランチのマージをお願いするしくみです。ほかの人が先に読むこともできます。

6. マージを手元に取り込む

あなたのパソコンは、まだマージのことを知りません。main に戻り、git pull で取り込みます。git log --oneline を実行すると、あなたのコミットとマージが見えます。

コマンド
git switch main

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

コマンド
git pull

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

コマンド
git --no-pager log --oneline

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

先生へ

ヒント

このレッスンは、ラボで進めるレッスンの小さな例です。手順と実行ボタンがレッスンで、ラボは生徒一人ひとりの専用コピーです。このレッスンは Git の基本と同じ Gitea のラボを使うので、生徒は両方のレッスンを通して、1 つのターミナルと 1 つの履歴を持ち続けます。1 つのラボは、いくつでもレッスンの土台にできます。自分のモジュールにコピーして変えることも、レッスンビルダーのラボメニューから一から作ることもできます。

このラボのほかのレッスン

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

授業で教えていますか?これらのレッスンを生徒に割り当て、採点と生徒ごとのラボを使えます。