0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gitコマンドの基本&実務で役立つ操作まとめ📚

Last updated at Posted at 2025-03-20

はじめに

Gitは開発現場で欠かせないバージョン管理ツールです。

本記事では、基本コマンド・実務で役立つコマンドをまとめました。
チーム開発でよく使う操作を解説します!

※ 実務で多用するコマンドには 🌟 付けしています。

目次

  1. リポジトリのクローン
  2. 既存プロジェクトの更新
  3. ブランチ操作
  4. ステージングとコミット
  5. リモートへのプッシュ
  6. マージ
  7. 変更の取り消し
  8. 実務で役立つ便利なGitコマンド
  9. まとめ
  10. 参考文献

✅ リポジトリのクローン

リモートリポジトリをローカルに複製します。

# リポジトリをクローン 🌟
git clone リポジトリURL

# 任意のディレクトリ名でクローン
git clone リポジトリURL ディレクトリ名

💡 初めてプロジェクトに参加する際に実行する基本操作です。

🔄 既存プロジェクトの更新

他のメンバーの変更を取得し、自分の作業環境に反映します。

# 最新のコードを取得(ローカルには反映されない)🌟
git fetch

# mainの最新を取得&マージ(fetch + merge のショートカット)🌟
git pull origin main

# mainブランチの変更内容を統合 🌟
git merge main

💡 git pull は作業開始前に必ず実行し、最新の状態を保持しましょう。

🌿 ブランチ操作

機能ごとにブランチを作成し、適切に管理します。

# 現在のブランチを確認
git branch --contains

# 新しいブランチを作成
git branch ブランチ名

# ブランチを切り替える 🌟
git checkout ブランチ名
git switch ブランチ名

# 新規ブランチを作成して切り替える 🌟
git checkout -b ブランチ名

💡 mainやdevelopで直接作業せず、必ずブランチを作成して作業しましょう。

🔥 ステージングとコミット

作業内容をステージングし、履歴に残します。

ステージング操作

# コミット対象をステージング
git add ファイルパス

# カレントディレクトリ配下のコミット対象を一括でステージング 🌟
git add .

# ステージの状態を確認 🌟
git status

# ステージングを解除(HEADの状態に戻す)
git reset HEAD

# 特定のファイルだけステージング解除
git reset HEAD ファイルパス

コミット操作

# コミット(メッセージをつける)🌟
git commit -m "コミットメッセージ"

# エディタでコミットメッセージを入力(vi操作)
git commit
# メッセージ入力 → `esc` → `:wq` → `Enter`

💡 こまめにコミットし、変更の追跡を容易にしましょう。

🚀 リモートへのプッシュ

コミットした変更をリモートリポジトリに反映します。

# 作業ブランチのプッシュ初回 🌟
git push -u origin ブランチ名
# -u: upstream の略で、ブランチの最新状態を自分のローカルリポジトリと同期するための基準になるリモートブランチ

# 作業ブランチのプッシュ2度目以降
git push origin ブランチ名 🌟
git push origin HEAD # HEAD:今作業しているブランチの場所を示すポインタ 🌟

💡 プッシュ前に git statusgit branch で確認すると尚よしです!

🔀 マージ

複数のブランチを統合する際に使用するのが git merge です。

✅ 基本的なマージ

# mainブランチに移動 🌟
git checkout main

# mainの最新を取得 🌟
git pull origin main

# 作業ブランチに移動 🌟
git checkout ブランチ名

# mainを作業ブランチへマージ 🌟
git merge main

💡 ポイント

  • git merge は現在のブランチに対して指定ブランチを統合します。
  • コンフリクトが発生した場合は手動で解決し、再度コミットが必要です。

🔥 マージ時のコンフリクト解消

コンフリクトが発生すると以下のように表示されます。

Auto-merging index.html
CONFLICT (content): Merge conflict in index.html

競合箇所を修正

# コンフリクトを修正した後、ステージング
git add .

# マージ完了
git commit -m "コンフリクト解消"

💡 マージのコツ

  • マージ前に必ず git fetch で最新の状態にしましょう。
  • コンフリクト解消後は、他のメンバーと内容を確認しましょう。

🔄 マージコミットを避ける(Fast-forwardマージ)

# Fast-forwardでマージ(履歴がきれいに)
git merge --ff ブランチ名

💡 Fast-forwardマージとは

  • 分岐した履歴がない場合に、ブランチを直線的に統合する方法です。
  • 履歴が複雑にならないため、シンプルな作業では推奨されます。

⏪ 変更の取り消し

「間違えてコミットした」「前の状態に戻したい」ときに使用します。

リセット(reset)

# コミットを取り消して作業ツリーに戻す(変更は保持)
git reset --soft 取り消すコミットID
git reset --soft HEAD # HEAD:直前のコミット

# コミットを取り消し、ステージングも解除
git reset --mixed 取り消すコミットID

# コミットを完全に取り消して変更も削除(要注意)
git reset --hard 取り消すコミットID

💡 --hard は不可逆なので慎重に!

リバート(revert)

# コミットを取り消し、新たなコミットとして反映
git revert 取り消すコミットID 🌟
git revert HEAD # HEAD:直前のコミット

💡 リモートにpush済みの変更を取り消す場合は、reset ではなく revert を推奨。
💡 推奨理由:複数人で一つのブランチを操作する際に reset だと コミット履歴を削除してしまうため、他の人が以降一切のコミット操作ができなくなる。

  • reset:変更を完全に取り消す = コミット履歴を削除する
  • revert:変更を取り消すための新しいコミットを生成する = コミット履歴は残る

🥺チーム開発の際は推奨でなく必ず revert を使ってください🥺

🧷 実務で役立つ便利なGitコマンド

💾 スタッシュ操作

作業中の変更を一時的に退避し、別の作業に移る際に役立ちます。

# 作業内容を一時退避 🌟
git stash

# 作業内容を一時退避:メモ付きでスタッシュしたい場合 ✍️ 🌟
git stash save "作業中の修正メモ"

# Gitのバージョン2.13以降では以下の形式も使用できます。
git stash push -m "作業中の修正メモ"

# スタッシュの一覧を表示 🌟
git stash list

# git stash list の実行例
 stash@{0}: On main: 修正内容A  
 stash@{1}: On main: 修正内容B
 
 
 


# 最新のスタッシュ(stash@{0})を適用
git stash apply

# 特定のスタッシュを適用:''には stash@{~}内のスタッシュ番号を指定 🌟
git stash apply '1'

# スタッシュを削除 🌟
git stash drop '0'

# すべてのスタッシュを削除
git stash clear

✅ 使用シーン

  • 急なブランチ切り替えやレビュー対応時に作業を退避しておけます。
  • 必要なスタッシュは削除せず、後で適用可能です。

✏️ ブランチ名の変更

# 現在のブランチ名を変更 🌟
git branch -m 新ブランチ名

# 特定のブランチ名を変更
git branch -m 古いブランチ名 新ブランチ名

# リモートに反映
git push origin 新ブランチ名

# 古いブランチをリモートから削除
git push origin --delete 古いブランチ名

✅ 使用シーン

  • タイポ修正や命名規則の変更時に便利です。

🎯 特定のコミットを確認

# ログの表示(簡易)🌟(`revert`時にコミットIDを見たい場合等)
git log --oneline --graph

# 特定のファイルの変更履歴を確認
git log -- ファイル名

🚧 競合解決

# 競合ファイルを確認
git status

# 競合を手動で修正した後、変更をステージング
git add 競合ファイル

# 競合解決後、マージ完了
git commit -m "競合解消"

🗑️ 不要なブランチ・リポジトリの削除

# ローカルのブランチを削除 🌟
git branch -d ブランチ名

# 強制削除 🌟
git branch -D ブランチ名

# ローカルリポジトリを削除
rm -rf .git

# リポジトリ削除確認
ls -lah

🎉 まとめ

本記事では、Gitの基本コマンド+実務で役立つ操作を紹介しました。

以下、まとめになります。

 ✅ クローン: git clone
 🔄 更新:git fetch / git pull
 🌿 ブランチ操作:git branch / git checkout
 🔥 ステージングとコミット:git add / git commit
 🚀 プッシュと削除:git push / git branch -d
 🔀 マージ操作:git merge / git merge --ff
 ⏪ リセット・リバート:git reset / git revert
 💾 スタッシュ:stash
 ✏️ ブランチ名変更:branch -m

Gitをマスターすると、作業効率が向上し、チーム開発時のトラブル対応もスムーズになります!

💫 参考文献

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?