gitを学習するにあたって、あまりのコマンドの数に圧倒されますよね。
- これって全部覚えなきゃいけないの?
- とりあえず仕事で使うコマンドだけ知りたい!
僕が去年gitについて学習をしたときは、こんな感じでした。
そこで今回は、実務を通してこのコマンドだけは最低限覚えておきたい!というコマンドを10個紹介していきたいと思います。
git add [ファイル名]
まずは、自分の作業ディレクトリからステージングエリアにファイルを移動するためのコマンドですね。
基本的にaddの後ろにはファイル名を指定してあげるようにすると、commitしたいファイルに間違いがなくていいですね!
さらに覚えておくと便利なオプションとして git add -p があります。
-p のオプションでは、ファイル単位ではなく編集した部分単位でファイルをaddすることができるため、より細かくcommitしたい部分を指定することができます。こちらを使うのが一般的かもしれません。
逆に git add . や git add –all などは、思わぬファイルをステージングエリアに上げてしまい、意図しないcommitをしてしまうことがあるためおすすめしません。
少なくともファイル単位でaddしたいところですね。
git commit -m [コメント]
commitすべきファイルを全てステージングエリアに上げたのであれば、remoteにpushするためにもcommitをする必要があります。
その際に、commitとcommmitのコメントをまとめてしてくれるのが、git commit -m コマンドになります。
git commit を単体使うことはあまりないかもしれませんが、git commit –amend で直前のコミットメッセージを変更することもあるので覚えておくといいでしょう。
git pull [master, develop]
こちらは、remoteブランチから最新バージョンのソースを取ってくるときに使うコマンドですね。基本的にはmasterやdevelopのブランチで使用することが多いかと思います。
git pull ではなく git fetch と git merge を使うべきという話もありますが、masterとdevelopブランチ以外に pull することもないので、pullでもいいかなと思っています。
ただし、git pull を使うのであれば、きちんと git fetch と git merge を理解してから使用したいものです。
ちなみに git pull ではなく、fetch と merge を利用すべきという意見はこちらに書いてあります。
git push
こちらもおなじみのコマンドですね。ローカルリポジトリからremoteリポジトリにpushするコマンドです。
新しくブランチを作って初めて remote に push する際に git push origin [ブランチ名] を使うことも多いですね!
あとは、remote リポジトリに一旦 push した後に commit ログを変更して git push -f で強制上書きすることもあります。(推奨はしません)
git status
現在の git のステージングを確認するためのコマンドです。
特に説明不要かと思いますが、作業ディレクトリにあるファイルやステージングエリアにあるファイルを確認したいときに使います。
git checkout
自分の作業ブランチを変更するときに使用するコマンドです。
新しくブランチを作る際にも git checkout -b でブランチを作成して作成したブランチに移動できるので、新規案件をこなす際にも活用できるコマンドになります。
git stash
上記の git checkout をするときによく使うコマンドです。自分の作業ディレクトリ、ステージングエリアにあるファイルを一旦保存することができます。
checkout でブランチを移動する際にも使いますし、後で紹介する rebase をするときにも使うので個人的に使用頻度はなかなか高いと思っています。
git stash したファイルは、git stash pop で今のブランチに保存した変更を反映できるので、緊急の別作業をするけど作業が中途半端で commit したくないときには stash で現在の変更を保存しておくといいでしょう。
git stash したファイルは、git stash pop で今のブランチに保存した変更を反映できるので、緊急の別作業をするけど作業が中途半端で commit したくないときには stash で現在の変更を保存しておくといいでしょう。
git diff [commit id]
現在の作業ディレクトリと指定した commit id との変更を見たいに使います。
こちらは、かなり便利なオプションが存在するみたいですが、正直覚えきれていません。
もう少し勉強してから再度まとめます。
git reset
変更した状態を元に戻したいときによく使うコマンドです。
詳しくはこちらの記事にまとめていますが、git reset –soft コマンドを使うケースが最も多いですね。
もし、すでに remote に push してしまっているのであれば、commitログが消えてしまう git reset ではなく、git revert を使うようにしましょう!
git rebase
最後に紹介するのが git rebase です。その名の通り、今の作業ブランチのベースを変更します。
例えば、自分が作業を進めている間に master(develop) に新たな変更が加わった場合、その変更を自分のローカルにも反映しなければ remote の master に merge した際に conflict が発生するおそれがあります。
conflict を起こさないためにも、あらかじめローカル環境で最新の master に rebase しておくことで conflict を防ぐことができます。
その他にもcommitメッセージを修正したり、commitの順番を入れ替えたりなど、細かなcommitの修正を行いたいときにも git rebase -i HEAD~[数字] で編集が行えるので、こちらも覚えておくといいでしょう。
まとめ
今回は、実務で使うgitコマンドについてまとめてみました。
このgitは覚えるまでが大変ですが、上手く活用すれば非常に強力なバージョン管理を行うことができます。
しっかり概念を理解してコマンドを覚えてgitを活用していきましょう!
コメント