この記事でわかること
よく使うgitコマンドの使い方を、以下の5つのカテゴリに分けて一覧にしました。
- 基本操作
- ブランチの操作
- コミットを変更する操作
- リモートリポジトリへ送信する操作
- リモートリポジトリから取得する操作
(※ 各コマンドの概要を簡潔にまとめただけなので、詳細を知りたい場合は別途調べていただく必要があります。)
1. 基本操作
git init (リポジトリを初期化)
.sh
# カレントディレクトリに .gitディレクトリを作成
$ git init
git status (リポジトリの状態を確認)
.sh
$ git status
git add (ファイルをステージング)
.sh
# 特定のファイルをステージング
$ git add ファイル名
# 修正したファイルと削除したファイルを全てステージング
$ git add -u
# 修正したファイル、削除したファイル、新規に追加したファイルなど変更のあった全てのファイルをステージング
$ git add -A
# または
$ git add --all
git restore (変更を取り消し / ファイルをアンステージ)
.sh
# 未コミットの変更をすべて取り消す
$ git reset # すべてのディレクトリ・ファイル
$ git restore ファイル名 # ファイル単位
# ステージング中のファイルをアンステージする
$ git restore --staged ファイル名
git rm (ファイルやディレクトリを削除)
ファイルを削除したことをステージング
$ git rm ファイル名
ディレクトリを削除したことをステージング
$ git rm -r ファイル名
ファイルのトラッキングをやめる(Git管理対象からは外れるが、ファイル自体はワークツリーに残る)
$ git rm --cached ファイル名
git commit (ステージングされているファイルをコミット)
詳細なコミットメッセージを記述する
$ git commit
1行のコミットメッセージを記述する
$ git commit -m "コミットメッセージ"
ステージングとコミットを同時に行い、コミットメッセージを記述する
$ git commit -am "コミットメッセージ"
git log (コミットログを確認)
コミットメッセージを確認する
$ git log
コミットメッセージの1行目のみを表示・確認する
$ git log --pretty=short
指定したファイルのみのログを表示・確認する
$ git log ファイル名
ファイルの差分も表示する
$ git log -p
指定したファイルのみのログとファイルの差分を表示・確認する
$ git log -p ファイル名
ブランチを視覚的に確認しながらコミットメッセージを確認する
$ git log --graph
git reflog (作業ログを表示)
現在のブランチで行われた作業のログを表示
$ git reflog
git diff (最新コミットからの変更差分を確認)
まだステージングしていないファイルの変更差分を表示する
$ git diff
ステージング済みファイルの変更差分を表示する
$ git diff HEAD
2. ブランチの操作
git branch (ブランチの確認や新規作成、削除)
ブランチの一覧を表示し、現在のブランチを確認
$ git branch
ブランチの一覧を表示し、現在のブランチを確認 (リモートリポジトリも含めて)
$ git branch -a
新規ブランチを作成
$ git branch 新規ブランチ名
ローカルのブランチを削除
$ git branch -d ブランチ名
リモートのブランチを削除
$ git push origin --delete ブランチ名
git checkout (ブランチの切り替え)
ブランチの切り替え
$ git checkout チェックアウト先のブランチ名
直前にいたブランチに切り替え
$ git checkout -
新規ブランチを作成し、そのブランチに切り替え
$ git checkout -b 新規ブランチ名
git merge (ブランチのマージ)
※ マージ先のブランチ(mainブランチ等)で実行すること
ブランチをマージ
$ git merge マージ元ブランチ名
マージコミットを作成してマージ
$ git merge --no-ff マージ元ブランチ名
3. コミットを変更する操作
git reset (あるコミットの時点まで戻る/進む)
ソースコードの変更やステージングを全て破棄しつつ戻る/進む
$ git reset --hard 戻る先/進む先のコミットのハッシュ
git commit --amend (コミットメッセージを修正)
直前のコミットメッセージを修正してコミットし直す(下記コマンド実行後、エディタが立ち上がる)
$ git commit --ament
git rebase -i (過去のコミットを操作)
HEAD(最新のコミット)を含めた過去N個のコミットを操作
$ git rebase -i HEAD~N
----------
【使用例: 直前のコミットをその前のコミットの中に統合したい場合】
$ git rebase -i HEAD~2
→ エディタが立ち上がるので、上から2行目先頭の「pick」という単語を「fixup」に変える
→ 変更を保存してエディタを閉じればOK
4. リモートリポジトリへの送信
git remote add (リモートリポジトリにローカルリポジトリを登録)
originという識別子(名前)で登録
$ git remote add origin git@github.com:ユーザー名/リモートリポジトリ名.git
※ 以下も参考に
登録したリモートリポジトリの識別子(名前)を表示
$ git remote
登録したリモートリポジトリの詳細を表示
$ git remote -v
git push (リモートリポジトリに送信)
現在のブランチをorigin/masterブランチへ送信
$ git push origin master
現在のブランチをorigin/masterブランチへ送信 + upstreamをorigin/masterに設定
$ git push -u origin master
5. リモートリポジトリから取得
git clone (リモートリポジトリを取得)
現在のディレクトリにリモートリポジトリをクローン
$ git clone git@github.com:ユーザー名/リモートリポジトリ名.git
git checkout (リモートのブランチをチェックアウト)
originのリモートブランチをもとにローカルリポジトリにブランチを作成して、そのブランチにチェックアウト
$ git checkout -b ブランチ名 origin/リモートのブランチ名
git pull (最新のリモートブランチを取得)
$ git pull origin ブランチ名
↓ 参考にした書籍はこちら
GitHub 実践入門