Git – 基本と操作方法 –

今回はGitlabを使用する前提で解説してきます。

Gitを使用する目的とは?

Gitはコードのバージョン管理を効率化し、チーム開発やプロジェクト運用をスムーズにするツールです。ブランチを使った分散作業やレビュー機能で品質を保ちながら効率よく統合できます。
また、CI/CDでテストやデプロイを自動化し、リリース作業を迅速化。さらに、イシュー管理やWiki機能でタスクの可視化とチーム間の協調を促進します。
過去のバージョン復元も容易で、トラブル対応も迅速なので、開発効率とプロジェクトの透明性を大幅に向上させることができます。

※イメージ

ゲーム制作のプログラム管理
プログラミング部や趣味でゲームを作る場合、新しいキャラクターやアイテムの追加作業を個別に進めつつ、動作確認後に一つのゲームにまとめられます。
また、まとめる際は問題がないかなど、都度確認・承認工程を設けることができます。


事前準備

Gitのインストール

エディターの準備(おすすめはVS Code)

GitLabやGitHubアカウント

  • アカウントの用意
    Github
    Gitlab(独自サーバー運用の場合、別途用意)
  • ログインして準備完了。

基本の運用フロー

Gitの操作は「リポジトリ(プロジェクトの入れ物)」を中心に進めます。
基本的な作業フローは下記の通りです。

作業フロー
  • STEP 1
    リポジトリを作成

    プロジェクトの基となるデータを作成

  • STEP 2
    ローカルにリポジトリをクローン

    ローカルで作業するためにリポジトリを持ってくる
    ※初期ダウンロードには時間がかかる場合があります。

  • STEP 3
    ファイルを作成・編集する

    まずはじめに、作業ブランチを切るようにしましょう!
    ※mainブランチのまま作業すると、マージの際競合が発生します。

  • STEP 4
    作業ブランチをリモートにアップロード

    親ブランチにマージするための準備

  • STEP 5
    PR(プルリクエスト)を作成

    親ブランチにマージする際に行うレビューの準備

  • STEP 6
    レビューとマージ

    既存ブランチとの差分を出して、レビューを行う。
    すべてOKなら、承認後マージを行う

※作業時は、STEP3〜6を繰り返すイメージです。

では、それぞれの作業フローを詳しく見ていきましょう!


STEP 1: リポジトリを作成

リポジトリは「そのプロジェクト専用のタイムカプセル」です。
GitLabにログインして以下を行います:

1. 新しいリポジトリを作成

  • 「New Project」ボタンを押して、プロジェクト名を入力します。
    (例: my-first-git-project

2. リポジトリの初期化

  • 作成後、GitLabが「このリポジトリをどう使う?」という案内を出します。
  • 「HTTPSのURL」をコピーします(後で使います)。
    ※招待されたユーザーは個別でURLの取得が可能です。

STEP 2: ローカル(パソコン側)にリポジトリをクローンする

コピーしたリポジトリの中身を自分のパソコンに取り込む作業です。

1. ターミナルやコマンドプロンプトを開く

  • 例: Windows の「Git Bash」や macOS の「ターミナル」など…

2. プロジェクトをクローン

  • 以下のコマンドを入力:
git clone <リポジトリのURL>

(例: git clone https://gitlab.com/username/my-first-git-project.git

3. ローカルにコピー完了

  • この時点で、GitLabのリポジトリが自分のパソコンにも作られます。

STEP 3: ファイルを作成・編集する

ここからが実際の作業!ファイルを作ったり、編集したりしていきます。

まずはクローンした作業ディレクトリに移動しましょう。

cd <ローカルリポジトリのフォルダ名>

現在のブランチを確認

まず、今どのブランチにいるか確認します。

git branch
  • 結果例:
* main

* がついているのが、今いるブランチです。

重要:ローカルリポジトリを最新に更新する

git pull origin <ブランチ名>

※ブランチが複数ある場合は、更新する際にメインブランチから作業ブランチを作成してください。
例:git pull origin develop


新しいブランチを作成

新しい作業用のブランチを作成して移動します。

git checkout -b feature/add-new-sensor
  • このコマンドの意味:
    • -b は新しいブランチを作成するオプション。
    • feature/add-new-sensor はブランチ名(feature/は機能追加用の目印)。
  • 結果: main ブランチとは別の作業スペースが作られます。
ブランチ名の選択

チーム開発では、ブランチを使って並行して作業します。
ブランチ戦略としては、以下の方法が一般的です。

  • mainブランチ
    • メインの安定したコードが存在するブランチ。
      リリース準備が整ったコードが格納される。
  • featureブランチ
    • 新しい機能を開発するために、mainブランチから分岐して作成されます。
      作業が完了したら、mainにマージします。
      例作業ブランチ作成例:git checkout -b fearure/xxxx_xxxx
  • developブランチ
    • 開発中の作業が集約されるブランチ。
      新機能や修正が完成したらdevelopにマージし、安定版をmainにリリースします。
      作業ブランチ作成例:git checkout -b develop/xxxx_xxxx
  • hotfixbugfixブランチ
    • 本番環境での問題を解決するためにmainブランチから直接分岐します。
      修正後、maindevelopにマージします。
      作業ブランチ作成例:git checkout -b hotfix/xxxx_xxxx
  • addブランチ(例外的)
    • リポジトリに後からファイルを割り込み追加したい場合に使用
      mainとdevelopにマージします。
      作業ブランチ作成例:git checkout -b add

注意:あくまで一般的な例なので、プロジェクトや組織によって、ブランチのルールは異なる場合があるので、自分の所属している場所のルールに従ってください。


ブランチ内で作業

新しいファイルを作る
  • 「テキストファイル」や「コード」を新しく作り、リポジトリのフォルダに保存します。
変更内容をGitに記録する準備
  • 以下のコマンドで変更したファイルを追加
git add .
作業内容を記録(コミット)する
  • 「どんな作業をしたか?」をメモとして記録
git commit -m "コメントを追加"

※ "コメントを追加" => この部分には、対応内容を規定のフォーマットに従って記載する

補足:複数行をコミット時のコメントとして使用したい場合

git commit -m "コメントを追加_1" -m "コメントを追加_2"

デフォルトのエディタを使用する方法

git commit

一度に複数行を入力する方法(Linux/Unix)

git commit -F- <<EOF

STEP 4: 作業ブランチをリモートにアップロード

チームと共有するために、作業ブランチをGitLabにプッシュします。

git push origin <ブランチ名>
  • origin: GitLabのリポジトリ。
  • feature/add-new-sensor: プッシュするブランチ名。

STEP 5: PR(プルリクエスト)を作成

GitLab上で、作業ブランチをメインブランチに統合するためのリクエストを作成します。

  1. GitLabにログインしてリポジトリを開きます。
  2. Pull Request」ページで、新規PRを作成。
  3. 変更内容を説明
    • 例: 「新しいセンサー追加の作業が完了しました。レビューお願いします!」

STEP 6: レビューとマージ

1. チームリーダーなどがPull Requestを確認。

2. 問題がなければメインブランチに統合(マージ)。

3. 作業ブランチは不要になったら削除します。

git branch -d feature/add-new-sensor

リモートブランチも削除する場合 ↓ ↓

git push origin --delete feature/add-new-sensor

ブランチの基本コマンド一覧

コマンド説明
git branch現在のブランチ一覧を表示
git checkout -b <ブランチ名>新しいブランチを作成して切り替える
git checkout <ブランチ名>既存のブランチに切り替える
git branch -d <ブランチ名>ローカルのブランチを削除
git push origin <ブランチ名>リモートリポジトリにブランチをプッシュ
git push origin –delete <ブランチ名>リモートリポジトリのブランチを削除

チーム運用のポイント

1つのブランチは1つのタスクに使う

  • 例: 「機能追加」なら feature/、「バグ修正」なら hotfix/ を接頭辞につける。

作業が終わったら必ずMerge Request

  • 他のメンバーが確認してからメインブランチに統合。

古いブランチは削除する

  • 不要なブランチが増えると管理が難しくなるため、整理を心がけましょう。

Gitコマンド一覧表

カテゴリコマンド説明
初期設定git init新しいGitリポジトリを初期化する
git clone <リポジトリURL>リモートリポジトリをローカルにクローンする
git config --global user.name "名前"ユーザー名を設定する
git config --global user.email "メール"ユーザーメールを設定する
git config --list設定情報を確認する
git config --global core.editor <エディタ>コミット時に使用するデフォルトエディタを設定する
ステージング

コミット
git add <ファイル名>指定したファイルをステージングエリアに追加する
git add .すべての変更をステージングエリアに追加する
git commit -m "メッセージ"ステージングエリアの変更をコミットする
(メッセージ付き)
git commit --amend最後のコミットメッセージを修正する
リモート操作git remote add origin <URL>リモートリポジトリを追加する
git push origin <ブランチ名>変更をリモートリポジトリにプッシュする
git pull origin <ブランチ名>リモートリポジトリから最新の変更を取得し、
ローカルにマージする
git fetchリモートリポジトリから最新の変更を取得する
(マージはしない)
git remote -vリモートリポジトリのURLを確認する
ブランチ操作git branch現在のブランチを確認する
git branch <ブランチ名>新しいブランチを作成する
git checkout <ブランチ名>指定したブランチに切り替える
git switch <ブランチ名>指定したブランチに切り替える
git checkout -b <ブランチ名>新しいブランチを作成して切り替える
git merge <ブランチ名>指定したブランチを現在のブランチにマージする
git branch -d <ブランチ名>使用済みのブランチを削除する
ログ・履歴
確認
git logコミット履歴を表示する
git log --oneline簡易的な形式でコミット履歴を表示する
git log --graphグラフ形式でコミット履歴を表示する
git diff作業ディレクトリの変更点を表示する
git diff <ブランチ名>ブランチ間の変更を比較する
git show <コミットID>特定のコミット内容を表示する
ステージング
取り消し
git reset HEAD <ファイル名>ステージングエリアからファイルを取り消す
git checkout -- <ファイル名>ファイルの変更を元に戻す
(ステージングされていない内容を取り消す)
リポジトリ
状態確認
git statusリポジトリの現在の状態を確認する
git clean -f未追跡ファイルを削除する
タグ付けgit tag <タグ名>現在のコミットにタグを作成する
git tag -a <タグ名> -m "メッセージ"注釈付きタグを作成する
git push origin <タグ名>タグをリモートリポジトリにプッシュする
リベースgit rebase <ブランチ名>現在のブランチを指定したブランチにリベースする
git rebase --continueリベース中に発生した競合を解決した後、
リベースを再開する
スタッシュgit stash変更を一時的に保存する
git stash popスタッシュを適用し、一時保存を削除する
git stash listスタッシュのリストを表示する
取り消し

修正
git revert <コミットID>指定したコミットを取り消す(履歴を保持)
git reset --soft <コミットID>指定したコミットまでを取り消す
(変更をステージングエリアに残す)
git reset --hard <コミットID>指定したコミットまでを完全に取り消す
(変更も削除)
git cherry-pick <コミットID>特定のコミットを現在のブランチに適用する
タイトルとURLをコピーしました