Gitコマンド チートシート|基本操作&ケース別活用法
公式チートシートはこちら
GitHub Cheatsheets
GitHub Git チートシート
Github Git Cheat Sheets Training Kit
目次
基本情報
コマンドの名称
$ 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万円前後と業界最安値で、副業や転職に向けて十分なスキルを身につけることができます。
\ クリックしてジャンプ! /
お気軽にコメントどうぞ