0
0

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-08-10

コミット履歴の確認

git logで過去のコミットの情報を詳細にリスト表示できる。

git log

出力には以下が含まれる。

  • コミットID:各コミットを一意に識別するためのハッシュ値
  • Author(作者):コミットを作成した人の名前とメールアドレス
  • Date(日付):コミットが作成された日時
  • コミットメッセージ:変更内容の説明文

オプション

  • --oneline:各コミットを1行で表示する(簡潔にできる)
  • --graph:グラフでブランチやマージの履歴を視覚化できる
  • -p ファイル名:特定ファイルを指定
  • -n コミット数:直近のコミットの履歴を確認

ブランチ

ブランチの一覧表示

git branchで全てのブランチを一覧表示させ、現在いるブランチを確認できる。
-aオプションでリモートリポジトリを含めたブランチ一覧を確認できる。

git branch

ブランチの削除

現在いるブランチは削除できないため、先に別のブランチに切り替える必要がある

マージ済みのブランチの削除

git branch -d ブランチ名

マージされていないブランチの削除

git branch -D ブランチ名

-Dオプションを使用すると強制削除となるので間違えないように注意する

ブランチの切り替え

git switchgit checkoutのどちらでも可能。
git checkoutコマンドが多機能で複雑なため、よりシンプルなブランチの切り替えに特化したgit switchコマンドが新しく導入された。

切り替えのみ

// 新しいコマンド
git switch ブランチ名

// 元々のコマンド
git branch ブランチ名

新しいブランチを作成し、そのブランチに切り替える

git switch -c ブランチ名のように-cオプションをつけることで、切り替える前にブランチを作成できる。
-c--createの省略形。

// 新しいコマンド
git switch -c ブランチ名

// 元々のコマンド
git checkout -b ブランチ名

ファイルの削除を記録

git rmでコミットされたファイルの削除を記録できる。

ワークツリーからも削除する場合

ファイルが削除された記録がステージングエリアに残る(次回のコミットに含まれる)。

git rm ファイル名

ワークツリーからは削除しない場合

このコマンドを実行すると、ファイルはローカルに残るが、次回以降のコミットには含まれなくなる。

git rm --cashed ファイル名

ファイルの移動を記録

git mvを使用する。
ファイル名の変更の記録もできる。
ステージングエリアに残る。

git mv 旧ファイル名 新ファイル名

# 以下と同じ
mv 旧ファイル名 新ファイル名
git rm 旧ファイル名
git add 新ファイル名

基本のワークフロー

git statusで現在のファイル状態を確認できる。

変更をステージする

git add ファイル名で作業しているディレクトリの変更内容をステージングエリアに追加できる。

git add ファイル名

差分の確認

git diffコマンドを使用する。

ワークツリーとステージングエリアの差分の確認

git diff

ステージングエリアとローカルリポジトリの差分の確認

git diff --staged

ファイル単位での変更の取り消し

git restoregit checkoutのどちらでも可能。
git restoregit switchのように新しく追加された。

一度git restoregit checkoutで変更を破棄すると、変更内容を復元できなくなるので注意する。

addされる前での取り消し

git restore ファイル名でまだgit addされていないファイルを最後にコミットされた状態へ戻すことができる。

// 新しいコマンド
git restore ファイル名

// 元々のコマンド(--はファイル名とブランチ名を区別するための区切り文字)
git checkout -- ファイル名

addされた後に、commitされる前(ステージングエリア)での取り消し

まずステージングエリアから取り下げる。
これでgit addされる前に戻る。

git restore --staged ファイル名

そして作業ディレクトリの変更を破棄する。

git restore ファイル名

変更のコミットを追加

git commitでステージングエリアにあるファイルの変更をローカルリポジトリに記録できる。

git commit -m "コミットメッセージ"

コミットの修正

git commmit --amendで前回のコミットを修正できる。
コミットメッセージの修正も可能。
まだpushしていないコミットにのみ使用する。

直前のコミットメッセージの修正

git commit --amend -m "修正後コミットメッセージ"

コミット後に一部ファイルをaddし忘れていたことに気づいた際の修正

まず忘れていたものをgit addする。
その後にgit commit --amendで修正する。

git commit --amend -m "元々のコミットメッセージ"

変更をプッシュする

準備

以下のgit remote addコマンドにより、今後originという名前でリモートリポジトリにプッシュできる。

git remote add origin リモートリポジトリのURL

pushする

git pushで今いるブランチのローカルリポジトリの変更をリモートリポジトリに反映できる。
一度-uオプションをつけてpushしておけば、次回からはgit pushだけでOK。

// 最初だけ
git push -u origin ブランチ名

// 2回目以降のpush
git push

// ブランチ名はHEADでもOK
git push -u origin HEAD

-u--set-upstreamの省略形。

変更内容を確認する

git diffで変更内容を確認できる。
ファイル状態でオプションが異なる。

// いつでもできるファイル比較
git diff ファイル名1 ファイル名2

// add前
git diff

// add後のcommit前(以下はどちらも同じ)
git diff --staged
git diff --cached

// commit後
git diff HEAD^

ブランチのマージ(の流れ)

git mergeで指定したブランチの変更内容を現在のブランチにマージできる。

ブランチの切り替え

必要であれば先にマージ先のブランチに切り替えておく。

// ブランチの切り替え
git switch マージ先ブランチ名

// 例
git switch main

リモートリポジトリの最新情報を取得

これでマージコンフリクトを最小限に抑える。

git pull origin マージ先ブランチ名

// 例
git pull origin main

マージの実行

// 指定したブランチをマージ
git merge マージ元ブランチ名

// 例
git merge feature/new-feature

不要になったブランチの削除

git branch -d ブランチ名

// 例
git branch -d feature/new-feature

コミット履歴の取り消し

git resetgit revertで取り消す。
現在のブランチの最新のコミットを示すHEAD、もしくはgit logで確認できるコミットログを指定する。

git reset

git resetコミット履歴を書き換える
そのため、共有されている履歴に対して行うと問題を引き起こす可能性がある。
まだリモートリポジトリにプッシュしていないローカルの変更を取り消す際に使用する。

オプション

  • --soft:作業ディレクトリやステージングエリアは変更されない
  • --mixed(デフォルト):作業ディレクトリは変更されないが、ステージングエリアはリセットされgit add前に戻る
  • --hard作業ディレクトリのほかステージングエリアもリセットする

特に--hardは危険なコマンドなので注意して使う

// HEADを指定
git reset HEAD

// コミットIDを指定
git reset コミットID

git revert

git revert特定のコミットで行われた変更を打ち消す新しいコミットを作成する。
安全に変更を取り消す。
主に既にプッシュして共有されているコミットに対して使用する

// HEADを指定
git revert HEAD

// コミットIDを指定
git revert コミットID
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?