3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitLabをゼロから学ぶ ―ハンズオンで体感するGitの基本操作とAI活用 - チュートリアル 4

3
Posted at

GitLabをゼロから学ぶ ― ハンズオンで体感するGitの基本操作とAI活用 - チュートリアル 4

GitLabのチュートリアルセッション「初めてのGitコミットを行う」を録画形式でお届けしているセッションの内容を、ここでまとめてご紹介します。Gitをなんとなく使っているけど自信がない方、黒い画面(シェル)操作に不安がある方、そして「GitとSubversionって何が違うの?」という疑問を持ったことがある方に、特に読んでいただきたい内容です。


このセッションで扱う内容

セッションは大きく5つのパートに分かれています。

  1. 初めてのGitコミット
  2. Git rebase(コミット履歴の整理)
  3. コミットメッセージの修正
  4. GitリモートURLの更新
  5. Gitチートシートの活用

コマンドをひとつひとつ実行しながら進めるスタイルで、概念説明だけで終わらず、実際に何が起きるかを目で確認できます。


SubversionとGitの「ワンクッション」の話

録画の序盤でとても面白い説明があります。Subversionユーザーにはおなじみの「コミット」という操作、Gitでは意味が少し違います。

Subversionの場合:

  • コミット = ローカルの変更をサーバーに送る
  • チェックアウト = サーバーから取得する

Gitの場合、ローカルマシンの中に「自分専用のGitサーバー」のようなものが存在します。コミットとはまずその手元のサーバーに変更を確定する操作であり、リモートのサーバーに送るには別途 git push が必要です。

この「ワンクッション」の構造があるからこそ、オフライン環境でも開発が続けられるわけです。「なぜGitにはpushが必要なのか」という疑問を持ったことがある方は、ここで腑に落ちるはずです。


実際に手を動かす内容

SSH鍵の設定

GitLabへの接続に使うSSH鍵の作成と登録を丁寧に説明しています。公開鍵・秘密鍵の違い、ホームディレクトリの .ssh フォルダへの格納場所、GitLabのプロファイル設定画面での登録方法まで、初めての方が詰まりやすいポイントを順に追っています。

ssh-keygen -t ed25519 -C "your@email.com"

プロジェクトのクローンとブランチ操作

GitLab上にプロジェクトを作成し、SSHでクローン。その後、main ブランチから作業ブランチを切り、変更を加えてコミットし、プッシュするという一連の流れを実演しています。

git checkout -b example-tutorial-branch
# ファイルを編集...
git add README.md
git commit -m "Add Hello World"
git push origin example-tutorial-branch

マージ操作

作業ブランチをmainにマージする手順も、ローカルで行うパターンで実演しています。git checkout main が「ブランチを切り替えるだけ」で「取得」ではないという点、最新のGitでは git switch が推奨されているという補足も、実務で迷いやすい部分への丁寧なフォローです。


Git rebase——コミット履歴をきれいにする技術

開発中は細かいコミットをたくさん積み重ねがちです。コードレビューやデバッグの際、履歴が散らかっていると非常に読みにくくなります。

コミット1: 画面修正
コミット2: ちょっと直した
コミット3: また直した
コミット4: typo修正

こうした履歴を、機能単位でまとまった意味のあるコミットに整理するのが git rebase -i です。

録画では実際に複数のコミットを積んだ状態を作り、インタラクティブリベースでコミットを選択・統合・メッセージ修正する流れをライブで見せています。慣れると強力なツールですが、初見では戸惑いやすい操作でもあります。録画を見ながら手元で試すのが一番の近道です。


コミットメッセージを後から修正する

「コミットメッセージを間違えた」は誰でも経験することです。このセッションでは git rebase -i を使って過去のコミットメッセージを修正し、git push -f で強制プッシュする流れを説明しています。

強制プッシュは「過去の歴史を書き換える」操作のため、通常のプッシュでは弾かれます。このあたりの仕組みと対処法が実演付きで確認できます。


GitリモートURLの更新——意外な落とし穴

プロジェクトを別グループに移動した場合、ローカルのリモートURLを更新しないとプッシュできなくなります……はずなのですが、実演中に「なぜかうまくいってしまう」場面がありました。

ここで登場するのがDuoへの質問です。「パスが変わったはずなのに、なぜプッシュできたのか」をそのままAIに投げると、GitLabが同一インスタンス内のプロジェクト移動に対して自動リダイレクトを設定しているという仕組みを説明してくれます。

なお、GitLab DuoはGitLabの有料機能です(Duo Proなどのアドオンプランが必要です)。無料プランでは利用できないため、あらかじめご注意ください。

チュートリアル通りに進めても「想定と違う動きをした理由」を即座に深掘りできる、AIの実践的な使い方として参考になる場面です。

git remote set-url origin git@gitlab.com:new-group/my-sample-project.git

GitチートシートをAIに作ってもらう

セッションの最後では、公式のGitチートシートをDuoに読み込ませて、「Subversionしか知らない人向けに、サンプルコード付きで分かりやすい日本語チートシートを作成してください。マーメイド記法のグラフも含めてください」という指示を出しています。(GitLab Duoは有料機能のため、利用には対応プランへの加入が必要です)

出力されたチートシートは、SVNコマンドとの対応表、典型的なワークフロー、ブランチ操作の流れなどを含む実用的なドキュメントになっており、そのままGitLabのチケットとして起票する手順まで見せています。


録画を見てほしい人

  • Gitコマンドを使ったことはあるが、仕組みをきちんと理解したことがない
  • SubversionからGitに移行したが、概念の違いが整理できていない
  • SSH鍵の設定でいつも迷う
  • rebase という言葉は聞いたことがあるが、実際の使い方を見たことがない
  • GitLabのDuo(AI機能)がどのように役立つか具体的に知りたい

コマンドの実行結果がリアルタイムで流れる録画形式は、ドキュメントを読むだけでは分かりにくい「コマンドを打つ順番」や「エラーが出た時の対処」を体感的に追えます。手元に環境を用意して一緒に操作しながら見ると、より理解が深まります。


まとめ

このセッションでカバーしている範囲は、Gitの「本」一冊分ではありませんが、日常的な開発業務で必要になる操作のコアがコンパクトに詰まっています。とくに「GitとSubversionの違い」「rebaseの実際の使いどころ」「AIを使った疑問解消」の3点は、録画ならではの流れで理解しやすくなっています。

GitLabの無料環境で再現できる内容ですので、ぜひ手を動かしながら確認してみてください。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?