masakiのブログ Written by masaki shibayama

【現役エンジニアが解説】gitでよく使うコマンドまとめ【これだけ覚えておけばOK】

Programming WebApp

こんにちは。masakiです。
今回は、gitでよく使うコマンドまとめについて解説します。

gitでの操作がイメージしやすいように、イメージ図を貼っておきます。

プッシュするまでの基本的なコマンド

git add .

自分の作業場で行った全てのファイルの変更を、ステージにアップします。

git commmit -m “コメント”

git add .でステージにアップしたファイルをローカルレポジトリにアップします。
コメントは、どういう修正を行ったのかがわかるように、簡潔に記述してください。

git push origin <ブランチ名>

ローカルレポジトリにあるファイルをリモートリポジトリに反映させます。
ちなみに、-fコマンドを使って、

git push -f origin <ブランチ名>

とすると、強制的にプッシュできます。
ちなみにoriginとはリモートリポジトリの名前です。一般的にはoriginとします。

プルの基本的なコマンド

git pull origin <プルしたいリモートブランチ名>

これで、好きなリモートブランチのコミットを自身のローカルブランチに反映させることができます。
pullするときの注意点としては、常に現在いるローカルブランチに対してプルした内容がマージされてしまうことです。
なので、例えばリモートのdevelopブランチの内容をローカルのdevelopブランチに対してマージしたい場合は、
必ずdevelopブランチにいる状態で上記のコマンドを叩く必要があります。

確認系のコマンド

git status

以下の2つを同時に確認できます。
①自身の作業場とステージの間の差分
②自身のステージとローカルレポジトリの間の差分

git log – – oneline

自身のブランチのコミット履歴を確認することができます。

ブランチ操作系のコマンド

git branch

これで自身のローカルレポジトリ内にあるブランチ一覧を確認できます。

git checkout <ブランチ名>

これで自身のローカルレポジトリ内にある好きなブランチに切り替えることができます。

git checkout -b <ブランチ名>

次の2つの操作を同時に行うことができます。
①今いるブランチを起点にして、新規でブランチを作成する。
②checkoutして、作成したブランチに切り替える。
ちなみに、付けるブランチ名はチームで決められた名前をつけるのが一般的です。

リベース系のコマンド

git rebase <派生元のブランチ名>

こちらはちょっとわかりにくいと思うので丁寧に解説します。
例えば、現在developというブランチにいるとします。
そこで、developブランチを起点にして自身の作業用ブランチhogeを作成する場合、

git checkout -b hoge

とします。

これでhogeブランチに移動して、ここで開発を行なっていくのですが、
リモートのdevelopブランチというのは他の人の変更が日々反映されていくので、だんだんと古くなっていきます。
自身の開発しているhogeブランチでの変更は、常に最新のdevelopブランチに対して行いたいものです。

そこで、まず

git pull origin develop

というプル操作を行うことにより、リモートにあるdevelopブランチの内容を、自身のローカルにあるdevelopブランチに反映させます。
これにより、自身のローカルのdevelopブランチを常に最新の状態に保つことができます。

次に、以下のコマンドを実行することで、hogeブランチの起点を最新のdevelopブランチにします。

git rebase develop

(上記のリベースをしたときにコンフリクトした場合は、コンフリクトした箇所を手修正し、git add .でステージに追加してからgit rebase – – continueでコンフリクト解消を反映させます。)

リベースのもう1つの使い方

リベースは、「自身の作業用ブランチを、最新のブランチの状態に追い付かせる」という使い方以外に、もう1つ使い方があります。
それは、「コミットをまとめて整理する」という使い方です。

自身のローカルブランチで開発をしている際に、何度もコミットを行なっていくと、コミットログが汚くなっていきます。
この状態でリモートの開発用ブランチとかにマージしてしまうと、他の開発者の迷惑になってしまいますね。
この使い方については以下の記事が参考になりますので、参考にしてみてください。
gitのコミットの歴史を改変する(git rebase)

最後に

他にも、他の人のブランチをチェックアウトしてから過去の履歴まで遡ったり、誤ったコミットを打ち消したりなど、色々と覚えることはありますが、ここで解説したコマンドを覚えておけば、通常のgit flowでの開発は最低限こなせるようになるでしょう。あとは、必要になった時にその都度勉強しながら覚えていけば良いと思います。終わり。

参考書籍

僕は過去に以下の書籍でgithubの使い方を勉強しました。どちらもわかりやすいのでオススメです。