#【Git】SourceTree嫌いがよく使うgitコマンド
この記事は「ちゅらっぷす Advent Calendar 2019」の3日目です。
https://qiita.com/advent-calendar/2019/churapps
##SourceTree嫌い
えー唐突ですが私、SourceTreeが嫌いでして。
嫌いな理由はいくつかありますが、周りと同調できないダメな人間です。
そもそもGUIに苦手意識があって予告なくUIの変更などがあるともうキレそう。というかキレてます(苦笑)
基本的なコマンドばかりですが、SourceTreeを利用し続けていたら知らなかったかもしれないオプションも紹介しますので是非お付き合いください。
##clone
## base branchを参照、フォルダ名はリポジトリ名依存
$ git clone リポジトリ名
## ブランチを指定、指定のフォルダ名でcloneする
$ git clone リポジトリ名 -b ブランチ名(省略時はbase_branch) フォルダ名
ブランチ、フォルダ名指定オプション付きでgit clone
します。
##diff
## ファイル差分
$ git diff
「どのファイルにどんな変更加えたっけ?」って時に使ってました。
git add
する直前とかですかね。
現在ではVSCodeのプラグインで差分や履歴が一目瞭然なのであまり使う機会はなくなりました。
##status
## 変更点の確認
$ git status
変更、削除、新規ファイルなのか見る際に利用します。
##remote
## リポジトリのプッシュ先などを確認
$ git remote -v
複数案件を並行で進めてる時が多いので、「これ本当に〇〇案件のリポジトリでPush先もおかしくないよな?」と不安になった際につかいます。
##branch
## 現在のブランチ
$ git branch
## remote含む全てのブランチ
$ git branch -a
checkout後に確認のために利用することが多いですかね
##checkout
## ブランチの切り替え
$ git checkout ブランチ名
## ブランチを作成しつつ切り替え
$ git checkout -b ブランチ名
Checkoutの際に-b
オプションで、新規でローカルブランチを作成しつつCheckoutできます。
##commit
## 通常のコミット(add済み)
$ git commit -m "動かないけどマージしたい"
## addも一緒にするcommit
$ git commit -a -m "なぜか動くからリリースしようぜ"
git add
が面倒なので僕はだいたい-a
オプション付きでCommitします。
push
## 通常
$ git push
## 新規ローカルブランチ
$ git push --set-upstream origin ブランチ名
新規ローカルブランチでgit push
すると--set-upstream
オプションつけろなどと怒られますね。
ちなみに後者の方でpushすると、プルリク用のURLが発行されるのでリンクにアクセスするだけでプルリク作成画面へ飛べます。便利。
##GUIを使わない理由
多分ですけど、「コマンドで仕事してる俺カッケェェェ」って思ってるんだと思います笑
でも正直、コマンドベースで動きをある程度覚えてからGUIツールを利用した方が理解度高まるんじゃないかなと思ってます。
上記で紹介したコマンドはどれも基本的なものですが、オプションがややこしいので何か気になる点などございましたらご指摘ください。