自分がチーム開発で使うgitコマンドをここにまとめていく。
常にアップデートしていく。
間違っているものがあれば教えていただけると嬉しいです。
Gitのpushまでの基本的な流れ
git initを使えるようにする
これで自分が作成したプロジェクトでgitが使えるようになる。
$ git init
git add 変更した内容をインデックスに追加する
インデックスってなんか難しいから、僕は[選択]とかそんな風にaddを覚えている。
このadd .で、変更した全てのファイル・ディレクトリを選択できる。
$git add .
これでもaddできる。選択したいファイル名を入力する。
$ git add [ファイル名]
git commit コミットする
addしたらcommitする。この流れは絶対。commitは、僕はaddで選択したファイルたちをgitさんに引き渡すみたいな感じで覚えている。
$ git commit -m "コミットメッセージ"
コミットはほぼこれしか使わない。ほかにもやり方あるが、これが早くて楽。
git commit -v
この-vオプションをつけると、変更した履歴をcommitする際にも確認することができるらしい。
慎重にコミットをしたい時は、この-vをつけてみてもいいかもしれない.
git push リモートリポジトリにpushする
commitをしたらそれをリモートリポジトリにpushする。これによって、GitHubやGitlabなどでプルリクエストをすることができる。プルリクエストをすると、チーム開発ではほかの開発者の方にコードレビューをしてもらえたりする。
$ git push origin [作業ブランチ名]
#Gitのローカルでめちゃくちゃよく使うコマンド
git branch 自分が今どこのブランチにいるのかを確認
これで、自分がいまどこのブランチにいるのかを確認することができる。
これを僕はひたすらやっている。
$ git branch
これをすると、こんな感じで自分がいまどこのブランチにいるのか印がつく。さらには、今ローカルにどのブランチが存在死しているのかを確認することができる。
feature/company
* develop
master
git checkout ブランチを移動する
ブランチを移動したいときはこうする。
$ git checkout [ブランチ名]
これで、ブランチを移動することができるが、まだブランチを作成していないときにブランチを作ってそのまま移動することもできる。それがこれ。
$ git checkout -b [ブランチ名]
-bのオプションをgit checkoutの後ろにつけることでブランチを作成&移動もできる。便利。
git status ブランチの状態を確認する
自分のブランチで作業をして、変更を加えた時にaddしたかcommitしたかpushしたのかを確認することができるコマンド。
$ git status
このコマンドを叩くと、自分が変更を加えたファイルたちが赤く表示される。
例えば、こんな感じ、、、、⏬
逆にgit add してある状態だと、こんな感じ、、、、⏬
ほかにもいろんなことを確認できるが試してみてください。
僕は常にこのgit statusを作業中は死ぬほどやれと教わりました。
だから、自分の作業ブランチでコードを書いている時は変更を加えた時やプルリクエストを出そうとしているときに何十回もこのgit statusをばちばち叩くようにしている。というか、染み付いた。
Gitのローカルでまぁまぁよく使うコマンド
git stash 変更したものを一時退避させたい
自分の作業ブランチで変更を加えた時、そして、git addをしたけど、やっぱりこの変更は一旦保留にしたいというときに使えるのがこのコマンド。
$ git stash -u
逆にこの退避させたものをまた元に戻したい時は、、、
$ git stash apply
git stash applyというコマンドを叩く。これで、stashした直前のものを元に戻すことができる.
git checkout . 変更を削除する
変更を加えた時に「やっぱりさっきの変更をなかったことにしたい」そんなときに使えるのがこのコマンド。
$ git checkout .
簡単。
git checkout 一部のファイルの変更だけなかったことにしたい
たくさんのファイルに変更を加えたけど、○○.rbとかのひとつのファイルだけ変更を削除したいなと思った時のコマンド。
$ git checkout [ファイル名]
これで特定のファイルの変更を戻す、削除することができる。
git diff 変更した部分を確認したいとき
変更差分を確認したときにこのコマンドを使う。あんまり、差分ってなんかよくわからないから、ようするに変更した前と後が確認できるということだと思う。
$ git diff
基本的には、これだけで変更差分が確認できる。
git diff <ファイル名>
とすれば、特定のファイルの変更差分が確認できる。