LoginSignup
0
1

知っておくと便利なgitコマンドまとめ

Last updated at Posted at 2024-05-23

初めに

本稿では、初心を大切にgitのコマンドでたまに利用する便利なコマンドを目的別に紹介します。

ブランチの操作系

ブランチのコピーを作成

ブランチのバックアップ作成時に利用できます。

git branch -c <コピー先ブランチ名>

ローカルブランチの削除

git branch -d <ブランチ名>

ブランチ名を変更する

git branch -m <変更後のブランチ名>

リモートで削除されたブランチをローカルにも削除反映する

リポートリポジトリの最新情報を取得し、リモートに存在しないブランチは削除する。
⇒不要な作業ブランチの削除に便利
※一度リモートへプッシュしたブランチが対象

git fetch --prune

追跡されていないブランチも消したい場合は以下を実行

git remote prune origin

ローカルの作業内容を捨ててリモートのブランチに合わせる

まずはgit fetchで最新のリモートブランチ情報をローカルに反映させます。

git fetch origin 
git reset --hard origin/<ブランチ名>

既存のブランチ一覧を確認する

ローカルのブランチを確認する場合は以下のコマンドで確認できます。

git branch または git branch --list

リモート含めて既存のブランチ一覧を確認する

git fetchでまずは最新のリモートブランチ情報をローカルに反映させます。
-aオプションで、すべてのブランチ情報を確認できます。

git fetch
git branch -a

コミットの操作系

直前のコミットを修正する

遡及的に最新コミットが変更されるため、pushする前に実施するか、或いは git push --force-with-lease origin <ブランチ名> でリモートのブランチを上書きする必要があります。

--amendオプションが先。間違えるとおかしなコミットメッセージになってしまうため、順番は注意が必要です。

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

また、rebase コマンドを利用することで一つ以上前のコミットを修正することが出来ます。

git rebase -i HEAD~4

⇒ 表示されたコミット一覧の内で、pick をsquashに書き換えることで、一つ前のコミットにまとめることが出来ます。
git rebaseは以下のようにブランチの派生元を付け替えることにも利用できるので、慣れると非常に便利なコマンドです。

★今のブランチの作業内容(コミット群)について、mainブランチがベース(派生元)となるように付け替える場合
※リモートへプッシュする前に、このコマンドを実行して最新のブランチへ付け替えることで、マージする際にコンフリクトが発生することを防ぎ、スムーズな開発につなげることが出来ます。

git rebase main

コミットメッセージを変えずに最新コミットに変更内容を追加する

コミットするほどでもないけど一箇所修正忘れていた!という場合などに便利です。

git commit --amend --no-edit

履歴確認系

過去のコミットごとの変更ファイルを確認する

git log --stat

特定のファイルの過去の変更履歴を確認する

 git log -p <ファイルパス>

過去のコミットを完結に確認する

git log --oneline

過去のコミットをブランチの分岐含め視覚的に確認する

git log --graph

差分確認系

ステージングしている内容(git add 済)との差分を確認する

add する前に、どこに変更を入れたか確認するのに便利です。

git diff

ステージングしている内容とローカルリポジトリの内容との差分を確認する

addした後に、どこに変更を入れたか確認するのに便利です。

git diff --staged

上記コマンドで確認し、add した内容をやっぱり取り消したい!となった場合は以下のコマンドでaddする前に戻すことが出来ます。

git restore --staged <ファイルパス>

リモートリポジトリの特定のブランチとの差分を確認する

git fetchで最新のリモート資材情報を取得した上で実行。

git fetch
git diff origin/main hotfix_branch

ブランチ間の差分確認を確認する

branch1を基準にブランチ2と比較します。
⇒ branch1の方が古いブランチとして扱われ、branch2で入った変更を差分として確認できます。

git diff branch1 branch2

変更量の取得

--shortstatオプションが利用できます。

git diff branch1 branch2 --shortstat

まとめ

本記事でご紹介した主要コマンド・オプションを一部省略してまとめます。

用途 コマンド
ブランチのコピー git branch -c
ブランチの削除 git branch -d
ブランチ名の変更 git branch -m
リモートの削除反映 git fetch --prune, git remote prune origin
ブランチ確認 git branch --list, git branch -a
コミット修正 git commit --amend
コミット履歴確認 git log --stat, --oneline, --graph
差分確認 git diff, git diff --staged, git diff --shortstat

上記以外にも、cherry-pickやstash など開発に必須なコマンドは沢山ありますので、またの機会にまとめたいと思います。

皆様おすすめコマンドがございましたら是非ご教示いただければ幸いです。

最後までお読みいただきありがとうございました。

参考サイト

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