ターミナルでGitを使う時に最低限覚えておきたいコマンド

SourceTreeなどのGUIアプリケーションを使う場合はいいのですが、どうしてもターミナルを使ってコマンドライン上でGitを操作しなければならない時があります。
今回はそんな時にとりあえずGitからブランチを切って、マージするまでのひと通りの流れができる最低限のコマンドをまとめておきます。
- プルしてブランチを最新にする
- ブランチの確認とブランチを切る
- コミット・プッシュ
- マージ
ブランチを最新にする
まずはプルしてブランチを最新にします。
プルはgit pullで行えるので、プルして最新のファイルに更新しましょう。

ブランチの確認とブランチを切る
ブランチの確認をしたい時はgit branchでローカルブランチの確認ができます。
リモートブランチの確認がしたい時はgit branch -rでOK。
ブランチの作成をする場合はgit checkout -bブランチ名で切ります。
既にあるブランチに移動したい場合はgit checkout ブランチ名で移動が可能です。
// ローカルブランチの確認
$ git branch
// リモートブランチの確認
$ git branch -r
// ブランチの作成
$ git checkout -b feature/branch-name
// ブランチの移動
$ git checkout master
移動したらもう1度git branchで今いるブランチの場所を確認しておきましょう(ブランチ名を間違えていないかも確認)。
コミット・プッシュ
作業をし終わったら、変更部分の確認とコミット・プッシュを行います。
変更部分の確認はgit statusで行います。

| 状態 | 意味 |
|---|---|
| modified | 変更したファイル |
| deleted | 削除したファイル |
| ファイル名のみ | 新規追加したファイル(トラッキングされていない) |
git statusで状態を確認したら、次はコミットを行います。
git commit -m "コミットメッセージ"でコミットができます。
もし、新規追加したファイルがある場合はgit commit -am "コミットメッセージ"でコミットを行います。
ホスティングサービスを使っている場合は、ここでユーザー名とパスワードを聞かれる事もあるので、入力します。
入力できたらコミット完了です。

プッシュはgit pushで行います。
初回プッシュ時(まだリモートブランチがない場合)はgit pushと入力すると、オプション付きのコマンドを表示してくれるので、それをコピペしてプッシュ完了です。
プッシュ後はgit statusで、何も残っていないか確認しましょう。

//変更ファイルの確認
$ git status
//コミット(新規追加ファイルがない場合)
$ git commit -m "コミットメッセージ"
//コミット(新規追加ファイルがある場合)
$ git commit -am "コミットメッセージ"
//プッシュ
$ git push
//プッシュ(まだリモートブランチがない場合)
$ git push --set-upstream origin ブランチ名マージ
マージするブランチに移動した後に、git merge マージしたいブランチ名でマージできます。

//マージ
$ git merge マージしたいブランチこれがターミナルで、Gitからブランチを切って、マージするまでのひと通りの流れになります。
GUIアプリケーションでのGitに慣れている人であれば、コマンドがどの操作を指しているのかある程度理解できると思うので、使っていくうちにすぐ慣れると思います。

JavaScriptのtest関数と正規表現でバリデーションチェックを行う
効率的なマークアップが出来るようになるEmmetでCSSを書く時の基本
WordPressのContact Form 7で送信時に回転アイコンが出たまま止まってしまうときのチェックリスト
JavaScriptのforEach内で「continue」や「break」のような動作をさせる方法
Sassのマップ機能を使った変数の管理方法
Local by Flywheelのページ遷移を軽くする設定
Visual Studio Codeを使ったコード整形方法(Fomatter)
WordPressのwp_is_mobile()で条件分岐をするときは、キャッシュの設定に注意
Dart Sassの変数の基本的な使い方|Dart Sass入門
goenvを使って、MacにGo言語をインストールする
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」