【gitコマンド】一通りの使い方が出来るようになるためのgitコマンド一覧

Git

gitでリポジトリをクローンしてコミットをしプッシュをするまでに必要な一連のコマンドをまとめました。

これまでgitを使ったことがない人でも、このページにあるコマンドを覚えていればgitを使っているプロジェクトに難なく入れるレベルになれるはずです。
また、gitクライアントツールを使っているためコマンドは覚えなくてもいいや、という方もいるかもしれません。
そのような方でも、もし今後環境が変わってツールがを使えない状況になった時(使用許可されているPCにはソフトウェアをインストールできなかったり)のために、このページのコマンドは覚えておくのをおすすめします。

スポンサーリンク

gitの初期設定

設定 : config コマンド

設定値を確認

gitの設定を確認する。

$ git config -l

ちなみに、gitの設定は設定範囲ごとに設定する場所が違います

  • system : システム全体
  • global : ユーザ全体
  • local : 対象リポジトリのみ

以下でそれぞれの範囲の設定内容を確認できます。

$ git config --system -l
$ git config --global -l
$ git config --local -l

後述するユーザ情報の設定は基本的にglobalに設定するで良いとはずです。

systemはシステム全体でgitの設定をすることになるので、あまり使わないと思います。
また、localの設定はリポジトリごとに設定値を変えたいケースになりますが、そのようなケースもあまりないと思うので、基本的にはglobalで良いと思います。

ユーザ名を設定

ユーザー名を設定する。

$ git config --global user.name <ユーザ名>

メールアドレスを設定

メールアドレスを設定する。

$ git config --global user.email <メールアドレス>

ローカルリポジトリを作成 : init コマンド

空のリポジトリを作成する。

$ git init

リモートリポジトリをクローン : clone コマンド

現在のディレクトリにリポジトリをクローンする。

$ git clone <URL>

ブランチを指定してクローンしたい場合は以下を使用する。

$ git clone -b <ブランチ名> <URL>

ブランチ操作

ブランチの一覧を表示 : branch コマンド

ローカルブランチの一覧を表示する。

$ git branch

リモートブランチの一覧を表示する。

$ git branch -r

リモートブランチを含んだブランチの一覧を表示する。

$ git branch -a

ブランチの作成 : branch コマンド

現在のHEAD(現在作業しているポイント)から新しくブランチを作成する。

$ git branch <新しいブランチ名>
$ git branch <新しいブランチ名>

現在のHEADから新しくブランチを作成し、同時に新しいブランチに切り替える。

$ git checkout -b <新しいブランチ名>

ブランチの切り替え : checkout コマンド

ブランチを切り替える。

$ git checkout <切り替え先ブランチ名>

ブランチの削除 : branch コマンド

ローカルリポジトリのブランチを削除する。
※マージ済みのブランチのみ削除ができ、未マージの場合はエラーがでます。

$ git branch -d <ブランチ名>

強制的にローカルリポジトリのブランチを削除する。
※未マージのブランチを削除する場合は次のコマンドを実行します。

$ git branch -D <ブランチ名>

ブランチ名の変更 : branch コマンド

チェックアウトしているブランチの名前を変更する。

$ git branch -m <新しいブランチ名>

ブランチを指定してブランチの名前を変更する。

$ git branch -m <対象のブランチ名> <新しいブランチ名>

ローカルリポジトリへの反映とリモートリポジトリへの反映

フェッチ : fetch コマンド

リモートレポジトリからローカルレポジトリに情報をダウンロードする。

$ git fetch

リモートレポジトリからローカルレポジトリにブランチを指定して情報をダウンロードする。

$ git fetch origin <リモートブランチ名>

マージ : merge コマンド

現在チェックアウトしているブランチに対象のブランチの開発履歴を統合する。

$ git merge <対象のブランチ名>

プル : pull コマンド

リモートレポジトリから現在チェックアウトしているブランチの情報をローカルレポジトリにダウンロードしてマージをする。
fetchmergeを合わせた動作です。

$ git pull

ログを確認 : log コマンド

現在チェックアウトしているブランチのコミット履歴を表示する。

$ git log

ステータスを確認 : status コマンド

インデックスに上がっているファイルや、HEADと差分があるファイル、追跡されていないファイルの一覧を表示する。

$ git status

インデックス(ステージ)に上げる : add コマンド

HEADと差分がある特定ファイルをインデックスに上げる。

$ git add <ファイル>

HEADと差分がある全てのファイルをインデックスに上げる。

$ git add .

コミット : commit コマンド

コミットメッセージを設定してコミットする。

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

チェリーピック : cherry-pick コマンド

コミットのIDを指定して変更を適用する。

$ git cherry-pick <コミットID>

リセット : reset コマンド

インデックスに上がっている全ファイルを取り消しする。

$ git reset

インデックスに上がっている特定ファイルを取り消しする。

$ git reset <ファイル>

コミットを一つ取り消しする。

$ git reset HEAD^

コミットを2つ取り消しする。

$ git reset HEAD~2

特定コミットを取り消しする。

$ git reset <コミットID>

resetにはhardmixedsoftの3種類があります。

差分確認 : diff コマンド

インデックスに上がっていない差分を表示する。

$ git diff

コミットを2つ前までの差分を表示する。

$ git diff HEAD~2

ブランチ同士の差分を表示する。

$ git diff <ブランチ1> <ブランチ2>

ちなみに、diffで表示されている差分をすべて無くすには以下でできます。

$ git checkout .

プッシュ : push コマンド

ローカルブランチを、リモートレポジトリ上の同名のブランチに反映する。

$ git push <ブランチ名>

強制的にローカルブランチを、リモートレポジトリ上の同名のブランチに反映する。
※強制プッシュする時は、本当にプッシュして良いかよく確認して使ってください。

$ git push +<ブランチ名>

その他シーンに応じたコマンド

「競合した場合どうやって解決するの?」、「ローカルのブランチを誤って削除してしまった場合どうしよう?」、「rebaseはとても便利!」等々他にも紹介したいことがありますが、こちらについては別の記事で紹介いたします。

変更を一時退避 : stash コマンド

git stashで変更を一時退避することができます。
複数人で開発を進める際に便利なコマンドなので、こちらも読んでみてください。

操作履歴から元に戻す : reflog コマンド

git reflogで操作履歴を確認することができます。
何が良いかというと、誤ってリセットしてしまったコミットや、誤って削除してしまったブランチを元に戻せるのです。
いざという時に使えるので、こちらも読んでみてください。

コメント