Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【Git】SourceTree嫌いがよく使うgitコマンド

More than 1 year has passed since last update.

【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ツールを利用した方が理解度高まるんじゃないかなと思ってます。

上記で紹介したコマンドはどれも基本的なものですが、オプションがややこしいので何か気になる点などございましたらご指摘ください。

churapps
沖縄から届けるエンターテイメント
http://churapps.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away