はじめてでも安心!業務で役立つGitコマンド超入門
1. はじめに
エンジニアやIT業務で欠かせない「Git」。
前回の記事では本記事では、現場でよく使われる基本のGitコマンドを初心者にも分かりやすく解説します。これからチーム開発に参加する人、日々の業務で「Gitって難しそう…」と感じている方におすすめです。
2. 業務で頻繁に使う!基本のGitコマンド11選
現場で「これさえ押さえておけば困らない」主要コマンドを、実用例と一緒に紹介します。
2-1. git clone
リモート(共有)リポジトリを自分のPCにコピーします。
共有プロジェクトに参加したら、まずはこのコマンドを実行してローカル環境にコピーしましょう!
git clone <リポジトリURL>
2-2. git status
ファイルの変更状況や現在の状態を確認します。
慣れていないうちは何か作業を行うたびにこのコマンドを実行して「自分が何をやっているか、どういう状況か」を見失わないようにしましょう!
git status
2-3. git add
変更したファイルを「次のコミットに含める」よう準備します。
2-3,2-4,2-5はまとめて実施することが多いです。自分の作業内容をリモートリポジトリに反映するときに使用します。
git add <ファイル名>
# すべての場合
git add .
2-4. git commit
変更内容を履歴として記録します。
git commit -m "コミットメッセージ"
2-5. git push
ローカルの履歴(コミット)をリモートリポジトリへ反映します。
git push
2-6. git fetch / git pull
リモートリポジトリの最新状態を取得します。
git fetch は自分のブランチにはまだ反映されず、リモート追跡ブランチ(例: origin/main)が更新されるだけです。自分のブランチを更新する場合はその後にgit mergeやrebaseを行ってください。
git pull の場合は最新状態を取得した後、自分のブランチに反映します。
git fetch
# または
git pull
2-7. git branch
ブランチ(作業用の枝分かれ)を管理します。
git branch # 一覧表示
# 新規作成
git branch <ブランチ名>
2-8. git switch (checkout)
ブランチを切り替えたり、特定コミットに移動します。
checkoutはよく使われていたコマンドですが、現在はswitchに変更されました。
git checkout <ブランチ名>
# または
git switch <ブランチ名>
2-9. git merge
他のブランチでの作業を、今のブランチにまとめます。
git merge <ブランチ名>
2-10. git rebase
ブランチの履歴を整理・再構成します。複数人開発や綺麗な履歴作りに活用。
git rebase <ブランチ名>
※mergeとの違いや使い方の詳細は、今後の「コマンド深掘り」記事で詳しく解説予定!
2-11. git init
リポジトリ(変更履歴の保管場所)を新しく作成します。
プロジェクトを開始するときに使用するコマンドですが、GitLabやGitHubから環境を作成する方が分かりやすいため、あまり使用頻度は高くないコマンドです。
git init
3. よくある業務シーン別コマンド例(手順つき)
ここでは、複数のコマンドを安全な順番で組み合わせた実務フローを紹介します。
すべてローカルでの基本操作のみで完結するようにしています(オプションは最小限)。
3-1. 新規開発開始時
# 1) リポジトリを取得
git clone <リポジトリURL>
cd <ディレクトリ名>
# 2) 現状を確認
git status
git branch # どのブランチにいるか確認(多くは main または master)
ポイント
- 初回は
git status
を多用して「今どこにいるか、今何をしているか」を常に把握しよう。
3-2. ブランチを作って作業する
# 1) 最新化(main を最新に)
git switch main
git pull
# 2) 作業用ブランチを作成&移動
git branch feature/work_branch
git switch feature/work_branch
# 3) 編集 → 変更を確認
git status
git add . # 変更をステージング
git commit -m "コミットメッセージを記載"
ポイント
- ブランチ名は「
feature/
」「fix/
」など目的が想像できる命名に。 - 小さくコミットして履歴を細かく残すと、レビューもロールバックも楽です。
3-3. レビュー指摘を反映してプッシュ
# 指摘対応でファイルを修正
git status
git add <修正したファイル>
git commit -m "レビュー指摘に対応(入力チェックを追加)"
git push
ポイント
- 1コミット=1対応の粒度を意識すると差分が読みやすい。
3-4. mainが進んだので追従する(rebaseで履歴を整理)
# 1) main を最新に
git switch main
git pull
# 2) 作業ブランチに戻って main 上に積み直す
git switch feature/work_branch
git rebase main
# 競合が出たら該当ファイルを編集 → 解決後
git add <競合を直したファイル>
git rebase --continue
# 3) リモートへ反映(※rebase後は履歴が書き換わる)
git push --force-with-lease
ポイント
-
rebase
は自分の作業中ブランチで使い、履歴をスッキリさせる用途に最適。 -
--force-with-lease
は安全な強制プッシュ。共同作業中は声掛けを行おう。プロジェクトによっては使用できない場合もある。
3-5. mainへ取り込む(mergeで統合)
# 1) main へ切り替え & 最新化
git switch main
git pull
# 2) 作業ブランチを main に取り込む
git merge feature/work_branch
# 3) リモートへ反映
git push
3-6. 競合(コンフリクト)が起きたときの最小手順
# merge や rebase 中に競合発生
# 1) コンフリクト箇所を編集して正しい内容に揃える
# <<<<<<<, =======, >>>>>>> の印を消して保存
# 2) 解決したファイルをステージング
git add <解決したファイル>
# 3) 続行
# - merge の場合
git commit
# - rebase 中の場合
git rebase --continue
ポイント
- 競合は「両方の変更の意図」を読み取り、必要ならチームに確認。
- 迷ったら小さく解決してプッシュ → PRで相談が安全。
- VSCodeを使用したコンフリクト解消手順を別記事にてまとめていますので、ぜひご確認してください!
https://zenn.dev/ikejiri/articles/f10fa96d9a5650
3-7. 直前のコミットメッセージや漏れを修正(amend)
# ファイル修正 or メッセージだけ直す場合は空でもOK
git add <追加・修正したファイル> # メッセージのみ変更なら不要
git commit --amend -m "変更する文言に調整"
git push --force-with-lease
ポイント
- 直前コミットの取りこぼしをまとめると履歴が綺麗。
- 共有後の
amend
は履歴が変わるため、強制プッシュ時は注意。
3-8. 「とりあえず最新を取り込みたい」安全ルーティン
# 今いるブランチの作業はコミットしておく(未保存は危険)
git status
# main を最新化 → 手元ブランチへ取り込み(mergeでもOK)
git switch main
git pull
git switch feature/work_branch
git rebase main # 履歴を綺麗にしたいとき
# 競合対応 → push
git push --force-with-lease
ポイント
- 未コミットの変更があると取り込み時に事故りやすい → まずはコミット。
付録:最小コマンド早見表
- 状態確認:
git status
/git branch
- 作業開始:
git switch main && git pull && git switch -c feature/xxx
- 変更保存:
git add . && git commit -m "<msg>" && git push
- 追従整理:
git switch main && git pull && git switch feature/xxx && git rebase main
- 取り込み:
git switch main && git pull && git merge feature/xxx && git push
- 競合解消:修正 →
git add
→git commit
orgit rebase --continue
- 直前修正:
git commit --amend
(共有済みならgit push --force-with-lease
)
4. まとめと今後の学び方
- 基本のコマンドは日常業務で何度も使うものばかり。慣れると「迷わず手が動く」ようになります。
- 今後は各コマンドの「深掘り編」(コマンドの使い分け・使いどころ・エラー対処など)も公開予定!
- Pro Git 日本語版
ご要望や「このコマンドを深く知りたい」などリクエストもお待ちしています!
Discussion