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 コマンド
リモートレポジトリから現在チェックアウトしているブランチの情報をローカルレポジトリにダウンロードしてマージをする。
※fetch
とmerge
を合わせた動作です。
$ 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
にはhard
とmixed
、soft
の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
で操作履歴を確認することができます。
何が良いかというと、誤ってリセットしてしまったコミットや、誤って削除してしまったブランチを元に戻せるのです。
いざという時に使えるので、こちらも読んでみてください。
コメント