gitには無数の機能があり、gitコマンドについても無数のコマンドオプションが存在する。
今回は、その中でも筆者が実際に実務でよく利用しているコマンドのみを紹介する。
つまり、このコマンドさえ覚えておけばgitコマンドを実務で使うことが十分可能になる。
実装前によく使うコマンド
git checkout -b <ブランチ名>
これはブランチを変更するコマンド。
branch_name
というブランチ名に、ブランチを変更したいときには
git checkout -b branch_name
という具合で実行する。
存在しないブランチ名を入れると、新規ブランチを作成することになる。
git pull
リモートリポジトリからブランチの最新状態を持ってきて、更新するコマンド。
他の誰かが修正中のブランチに切り替えた後、最新状態にするためにこのコマンドを使う。
実装後によく使うコマンド
git add .
git add
は、変更差分を「これからコミットできる状態」まで持っていくコマンドだ。(これを「ステージングする」という)
これをすることにより、コミット対象のファイルを決めることができる。
フォーマットは
git add <filename>
であるが、基本的にはカレントディレクトリ配下のファイルを全てコミット対象にしたいので.
でカレントディレクトリを指定している。
git checkout <ブランチ名>
ブランチを切り替えるコマンド。
ちなみに、「さっきまで使っていたブランチに切り替えたい」というときは
git checkout -
のようにハイフンを使うことで「一つ前に使っていたブランチ」に変えることができる。
git checkout .
git add
をする前に、「この変更している内容、やっぱり全部やめたい」と思ったときにこのコマンドを使う。
checkoutはブランチを切り替える以外にも、このような用途があるため注意。
.
はカレントディレクトリを表しているので、ファイル名を指定して、特定ファイルの変更だけをリセットすることも可能である。
筆者はめんどくさがりなので、カレントディレクトリ以下の変更を全部無かったことにすることが多い。
git reset
「git add
しちゃったけど、取り消したい」というときによく使うコマンド。git add
したものが、git add
してない状態に戻る。
git commit -m "コミットメッセージ"
git add
したファイルを対象に、コミットを行うコマンドだ。
git push
今現在のブランチの状態を、リモートリポジトリに反映するコマンド。
ローカルでブランチを新規作成し、リモートリポジトリ側がそのブランチをまだ知らない場合は
git push -u origin <ブランチ名>
とする必要がある。
このときはforce pushになるので、ブランチ名を間違えないように注意が必要だ。
git diff
現在自分が修正している差分を確認するコマンド。
どんな修正したかザッと確認したいときに使う。
git status
現在のブランチの状態と、変更途中の状態を確認するコマンド。
「今触ってるファイルなんだっけ?」というときに使う。
git rebase main
現在いるブランチに、main
ブランチで進んでしまった内容を取り込むコマンド。
rebaseは少し概念が難しいので、rebaseがよくわからない初心者はgit merge main
を使うのが良い。
どちらも「自分の作業ブランチを切った後に発生したmainの修正内容を、自分のブランチに取り込む」コマンドである。
rebaseを使うと、その後force pushが必要になるため初心者が理解せずに使うのは良くない。
git reset ^HEAD
「コミットしちゃったけど、やっぱりコミットを取り消したい(push前)」に使うコマンド。^HEAD
は最新コミットIDを示すので、最新コミットIDを取り消すことができる。
そのコミットをすでにpushしていた場合は、その後force pushが必要になってしまうが
まだやってないなら大丈夫。