Gitコマンド チートシート|基本操作&ケース別活用法

公式チートシートはこちら

目次

基本情報

コマンドの名称

$ ls -a Documents

# $:プロンプト
# ls:コマンド
# -a:オプション(省略可)
# Documents:パラメーター(省略可)

ファイルやディレクトリのパス

表すものディレクトリパス
カレントディレクトリ.(ドット)
ホームディレクトリ~(チルダ)
ルートディレクトリ/(スラッシュ)

基本的なコマンド

# カレントディレクトリの絶対パスを確認
pwd
# ディレクトリを作成
mkdir ディレクトリ名
# ファイルやディレクトリを確認
ls
# 隠しファイルも確認(ドットで始まるファイル)
ls -a
# 指定したディレクトリへ移動
cd ディレクトリ名
# クリップボードにコピー(macOS)
pbcopy < ファイルパス
# エディターを開く(VS Code側で設定が必要)
code .
# Finderで開く
open .

Git出力画面で「:」が出たら

Gitの長い出力はページャー(:)で表示されます。
矢印やスペースでスクロールし、終了するにはqキーを押します。

リポジトリの作成

リポジトリの作成(初期化)

# リポジトリの作成(初期化)
git init

コマンドを実行すると.gitディレクトリが生成され、現在のディレクトリがローカルリポジトリとして初期化されます。

.gitディレクトリには、履歴・ブランチ・設定情報など、Git が管理に必要とするすべてのデータが格納されます。

Gitで管理したくないファイルやディレクトリがある場合は、ルートディレクトリに.gitignoreファイルを作成し、除外したいパスやファイル名を記述します。

リポジトリのクローン

# リモートリポジトリのクローン
git clone リモートリポジトリのURL

プロジェクトとすべてのバージョン履歴を自分のローカルリポジトリとしてダウンロードされます。

リポジトリの状態を確認

# リポジトリの状態を確認
git status

ファイルが変更されたか、ステージング済みか、未コミットかが一覧で表示されます。

作業ミスを防ぐため、git addする前など、作業の切れ目ごとに状態を確認する習慣をつけておくと安心です。

ステージングエリア

ステージングエリアへ登録

# 一括追加
git add .
# ファイル指定
git add ファイル名

差分を確認

# ステージング(git add)する前の差分を確認
git diff
# ステージング(git add)した後の差分を確認
git diff --cached

変更を取り消す

# ワークツリーの変更を取り消す
git restore ファイル
# ステージングの変更を取り消す
git restore --staged ファイル

ファイルを削除する

# ワークツリーからファイルを削除
git rm ファイルパス
# ワークツリーからディレクトリを削除(中身も含めて)
git rm -r ディレクトリパス

ワークツリーとステージングエリアからファイル(ディレクトリ)を削除します。

-rオプションは、ディレクトリ全体を対象にする場合に必要です。

Gitの管理下から外す(ファイルはそのまま)

# ファイルやディレクトリをGitの管理下から外す
git rm --cached ファイルパス
git rm --cached -r ディレクトリパス

ワークツリーにファイル(ディレクトリ)を残したまま、Gitの管理下(ステージングエリア)から外します。

コミット

# コミットメッセージを指定してコミット
git commit -m "コミットメッセージ"

# コミット履歴を表示
git log
# コミット履歴を簡易表示
git log --oneline
# 差分とコミット履歴を表示
git log -p

ブランチ

ブランチの確認

# ブランチの確認
git branch

# 実行結果
* origin
  feature-a
  feature-b

ブランチの作成、削除、変更、

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

# マージ済みのブランチを削除
git branch -d ブランチ名
# マージ状況にかかわらずブランチを削除
git branch -D ブランチ名 

# ブランチの名前を変更
git branch -m 変更前のブランチ名 変更後のブランチ名

ブランチの切り替え

# ブランチ切り替え
git switch ブランチ名
# 名前を指定して新しいブランチを作成
git switch -c 新しいブランチ名

2つのブランチを統合(マージ)

# 現在使用中のブランチにマージ
git merge ブランチ名

# マージを中止し実行前の状態へ戻す
git merge --abort

リモートリポジトリの設定

リモートリポジトリの設定確認

# リモートリポジトリの設定確認
git remote -v

# 実行結果
origin git@github.com:ユーザー名/リポジトリ名.git (fetch)
origin git@github.com:ユーザー名/リポジトリ名.git (push)

リモートリポジトリの追加、削除

# リモートリポジトリを「リモート名:origin」として追加
git remote add origin リモートリポジトリのURL
# リモートリポジトリの設定を削除
git remote remove リモート名
# リモート名を変更
git remote rename 旧リモート名 新リモート名

リモートリポジトリに対する操作

リモートリポジトリに反映(push)

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

# リモートリポジトリのブランチを削除(どちらでもOK)
git push --delete origin ブランチ名
git push origin :ブランチ名

ローカルに取り込む(pull、fetch)

# リモートリポジトリからワークツリーに反映
git pull origin ブランチ名

# リモートリポジトリからローカルリポジトリに反映(ワークツリーは変更なし)
git fetch origin

Git操作:ケース別まとめ

マージやプッシュのタイミングは開発スタイルで変わります。

  • 個人開発
    ローカルでマージしてからプッシュすることが多い。
  • チーム開発
    GitHub上でプルリクエストを作り、レビュー後にマージ。
    その後ローカルで最新をpullして同期する。

ケース1:ローカル作成からGitHubへ

# ① Webサイトのフォルダに移動(例:my-website)
cd path/to/my-website

# ② Gitの初期化(ローカルリポジトリを作成)
git init

# ③ 必要なファイルをステージングして初回コミット
git add .
git commit -m "初回コミット"

# ④ GitHubで新しいリポジトリを作成し、表示されたURLをコピー
#    例:https://github.com/ユーザー名/my-website.git

# ⑤ リモートリポジトリを「origin」という名前で登録
git remote add origin https://github.com/ユーザー名/my-website.git

# ⑥ GitHubに初回プッシュ(mainブランチの場合)
git branch -M main  # ブランチ名をmainに統一(初回のみ)
git push -u origin main

# 🎉 完了!以後の更新は以下のコマンドでOK
# (ファイルを変更したあと)
git add .
git commit -m "変更内容"
git push

ケース2:複数ブランチを使った開発

# ① mainブランチにいることを確認
git switch main

# ② 機能A用ブランチ作成・切り替え
git switch -c feature-a

# ③ 機能Aを作業してコミット
git add .
git commit -m "機能Aを追加"

# ④ 機能AブランチをGitHubにプッシュ(初回は-u付き)
git push -u origin feature-a

# ⑤ mainに戻る
git switch main

# ⑥ 機能B用ブランチ作成・切り替え
git switch -c feature-b

# ⑦ 機能Bを作業してコミット
git add .
git commit -m "機能Bを追加"

# ⑧ 機能BブランチをGitHubにプッシュ(初回は-u付き)
git push -u origin feature-b

# ⑨ GitHub上で feature-a と feature-b のPull Requestを作成・レビュー・マージ

# ⑩ マージ後、ローカルmainを最新に更新
git switch main
git pull origin main

# ⑪ (必要なら)ローカルの使い終わったブランチを削除
git branch -d feature-a
git branch -d feature-b

# ⑫ (必要なら)GitHub上のリモートブランチを削除
git push origin --delete feature-a
git push origin --delete feature-b

ケース3:マージ時のコンフリクト対処

  • GitHub上でfeature-aが先にmainにマージされた
  • ローカルのfeature-bはまだ古いmainの状態のまま
  • そこでfeature-bに最新のmainを取り込むためにgit merge mainを実行
  • この時に変更が競合してコンフリクトが起きるケース
# ① mainを最新に
git switch main
git pull origin main

# ② feature-bへ切り替え、mainをマージ(コンフリクト発生の可能性あり)
git switch feature-b
git merge main

# ↓ コンフリクト発生時の対処 ↓

# ③ コンフリクト箇所を確認
git status

# ④ ファイルを開いて手動修正 → 保存

# ⑤ 修正ファイルだけをステージ
git add <修正したファイル>

# ⑥ コンフリクト解消のコミット
git commit -m "mainとの競合を解消"

# ⑦ リモートにプッシュ
git push

# ⑧ GitHub上でPRを作成・マージ

ケース4:クローンしてリモートリポジトリを変更

# ① GitHubのリポジトリをクローン
git clone https://github.com/ユーザー名/リポジトリ名.git

# ② クローンしたフォルダに移動
cd リポジトリ名

# ③ GitHubで新しいリポジトリを作成し、表示されたURLをコピー
#     例:https://github.com/ユーザー名/リポジトリ名.git

# ④ 現在のリモートを確認
git remote -v

# ⑤ リモートの設定を切り替える(※どちらか一方を実行)
# origin がすでにある場合:
git remote set-url origin https://github.com/ユーザー名/リポジトリ名.git
# origin がない場合:
git remote add origin https://github.com/ユーザー名/リポジトリ名.git

# ⑥ ブランチ名を main に統一
git branch -M main

# ⑦ 変更をコミット
git add .
git commit -m "リモートリポジトリを自分用に切り替え"

# ⑧ 自分のリモートリポジトリにプッシュ
git push -u origin main

おすすめWEBスクール

WEB制作やWEBデザインを学びたいなら、SNSでも話題の「デイトラ」がおすすめ!
どのコースも10万円前後と業界最安値で、副業や転職に向けて十分なスキルを身につけることができます。

役に立ったら他の方にシェア

お気軽にコメントどうぞ

コメントする

目次