Gitでよく使うコマンドやオプション

Gitで個人的によく使うコマンドやオプション一覧を簡単にまとめています。

※ 本ページはプロモーションが含まれています。

このページの目的と動作環境

最終更新日:2023/10/4

Gitは仕事のプログラミング開発現場のチーム開発で必須のツールですが、個人開発(1人)で何かWebサイトやアプリ等を作る時や、独学でプログラミングの学習する時も、Gitはソースファイルのバージョン管理や共有の役割だけでなく、簡単に高機能なバックアップとしても使えるので非常に便利です。

Gitを使うためのGUIツールやプラグインは色々ありますが、gitコマンドでGitを使う事に一度慣れてしまえば、汎用性があって色々な場面で使えるので、コマンドgitの方が簡単でスマートだと思います。

また、gitコマンドを使いこなせるようになれば、OSもMac,Linux,Windowsどの環境でも同じコマンド操作で使えるようになります。

また、GitHubを使う時のやり取りもgitコマンドでやったり、自分でAWSのEC2やLinuxサーバ上にGitの共有リポジトリを作ったりもできます。

という事で本ページでは、gitコマンドの中でも、個人的によく使うgitコマンドやオプションの一覧をまとめています。
チーム開発ではなく、個人開発でプログラミングしているからGitは使ってないという方もいると思いますが、Gitは個人でも便利なツールなので参考にしてください。(gitコマンド使うだけなら無料ですし、将来的に仕事でプログラマとして働く時にGitのスキル・知識は当然必要とされると思うので。)

Gitのすすめ、Gitは個人で使うにも非常に便利なツール
Gitは分散型バージョン管理システムと呼ばれ、ITのチーム開発や仕事で使うツールというイメージを持っている人もいるかもしれませんが、Gitは個人利用で使う場合も非常に便利なツールです。

ソースコードの高機能なバックアップとしても使えるし、自分でgitコマンドを使って共有リポジトリをサーバ(クラウド)上に建てたり、GitHubなどのWebサービスを使えば、簡単にリモート環境にバックアップや共有環境を作れます。

今まで独学の個人開発でプログラミングやWebサイトの運営をしていたけど、ソースファイルを共有する必要ないからGitも使ってないという方も是非一度試してみてください。一度Gitを使って慣れると手放せなくなるツールになると思います。
あと、いざ就職・仕事でプログラマやITエンジニアとして働くとなった時は、Gitは求められる1つのスキル・知識なので、知っておいて損はないはずです。

■以下の環境で試しています。
OS:macOS Big Sur(バージョン11.7.1)

$ git version
git version 2.32.0 (Apple Git-132)

Gitで個人的によく使うコマンド一覧やオプション

■git helpコマンド。
gitコマンド一覧やオプションの簡単なヘルプを表示する。

$ git help
〜
git helpの後にサブコマンドを指定すると、指定したサブコマンドの詳細ヘルプを見れる。
例えば、git checkoutコマンドのヘルプを見る場合(git checkoutの説明や使えるオプション一覧を確認できる。)
$ git help checkout
NAME
       git-checkout - Switch branches or restore working tree files
〜
DESCRIPTION
〜
OPTIONS
〜
あと、git helpの-aオプションも、gitのサブコマンドの簡単な一覧を確認できる。
$ git help -a
〜

■git initコマンド。
Gitのリポジトリを作る。

$ git init
Initialized empty Git repository in /Users/hogeuser/tmp/testgit/hogedir/.git/

[master #]$ ls -a
.    ..   .git
コマンドを実行したディレクトリがGitリポジトリになり、そのディレクトリ内がGit管理下になって、色々なgitコマンドが実行できるようになる。あと、コマンド実行後、.gitディレクトリが生成されている。

Gitのバージョンによってはgit initコマンド実行時に「hint:〜」の警告が出る。

$ git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
Initialized empty Git repository in /Users/hogeuser/tmp/testgit/hogedir/.git/

この警告メッセージをDeepL翻訳で翻訳するとこんな感じです。

「初期ブランチの名前として 'master' を使用します。このデフォルトのブランチ名は変更される可能性があります。新しいリポジトリで使用する初期ブランチ名を設定し、この警告を表示しないようにするには、以下を実行します。

git config --global init.defaultBranch <name> を実行します。

master' の代わりによく使われる名前は 'main'、'trunk'、'development' などです。作成したばかりのブランチは、このコマンドで名前を変更することができます。

git branch -m <name>」

警告内容は、なんかブランチ名の話で初期ブランチ名をmasterにするけど、警告を表示しないようにするには初期ブランチ名を設定してねっていう意味だと思います。ですので初期ブランチが名がmasterのままで良ければスルーでいいと思う。

■git initを取り消したい場合
ちなみに、git initコマンドを実行してディレクトリをGitリポジトリ(Git管理下)にしたけど、やっぱりGitリポジトリ管理をやめて取り消したい場合(元のただのディレクトリに戻したい場合)、.gitディレクトリ(ローカルGitリポジトリ)を削除すればいいだけです。

[master]$ rm -rf .git

■Gitの共有リポジトリ(bareリポジトリ)を作るには、git initコマンドに--bareオプションを付ける。

$ git init --bare
Initialized empty Git repository in /Users/hogeuser/tmp/testgit/hogebaredir/

[BARE:master]$ ls -a
.           ..          HEAD        config      description hooks       info        objects     refs
コマンドを実行したディレクトリがGit共有リポジトリになる。
通常のリポジトリと違い、共有リポジトリは実行できるgitコマンドが限られている。例えば、git addやgit commitは実行エラーで使えないが、git logは実行できてGit共有リポジトリでもコミットログを見る事はできる。

■EC2、さくらのレンタルサーバ、Vagrant LinuxサーバにGit共有リポジトリを作る。
別ページで、実際にgit init --bareコマンドを使い、EC2のAmazon Linux、さくらのレンタルサーバ、VagrantのLinuxサーバ上にGitの共有リポジトリ(ベアリポジトリ)を建てて利用する方法について説明しているので、良ければ参考にして下さい。自分でクラウドやレンタルサーバ環境上にGit共有リポジトリを作ると、ソースファイルをリモート環境で管理できるようになるので、ソースファイルの共有やバックアップとして非常に便利です。
ec2、さくらのレンタルサーバ、vagrant上にgit共有リポジトリを作る

■git addコマンド。
Gitの作業ディレクトリ(ワークツリー)からステージングエリア(インデックス)に移動する。

[master #]$ git add hoge.txt
hoge.txtファイルをステージングエリアに移動しました。
作業ディレクトリからステージングエリアに移動したいファイルが複数あって、ファイル名を全て指定するのが面倒な場合は、.(ドット)を指定すれば一気に全ての作業ディレクトリのファイルをステージングエリアに移動できる。
[master #]$ git add .

■git commitコマンド。
ステージングエリアからリポジトリにコミットする。git commitコマンド実行時にvim形式のファイルが開くので、そこでコミットログを書く。

[master +]$ git commit
〜
git commitコマンド実行時に同時にコマンドライン上でコミットログを書きたい時は、-mオプションを使う。
[master +]$ git commit -m 'hoge.txtファイルの修正。'
直前のコミットログを修正したい場合や、現状のステージングエリアのファイルを直前のコミットにまとめたい場合は、--amendオプションを使う。
[master]$ git commit --amend

■git logコマンド。
過去のコミットログ一覧を確認する。

[master]$ git log
commit 6b8c56b70〜 (HEAD -> master)
Author: hoge name <hogehoge@hogehoge.jp>
Date:   Thu Dec 15 00:46:31 2022 +0900

    hoge.txtファイルの修正(amendで修正)。

commit 1e38c662〜
Author: hoge name <hogehoge@hogehoge.jp>
Date:   Thu Dec 15 00:43:29 2022 +0900

    hoge.txtファイルの作成。
--onelineオプションを付ければ、コミットログ1つを1行で表示してくれるので凄く見やすい。
[master]$ git log --oneline
6b8c56b (HEAD -> master) hoge.txtファイルの修正(amendで修正)。
1e38c66 hoge.txtファイルの作成。
--statオプションを付ければ、コミットログだけでなく、コミット毎に変更したファイルも確認できる。
[master]$ git log --stat
-pオプションを付ければ、コミットログだけでなく変更箇所も表示してくれる。
[master]$ git log -p

git logコマンドは色々と便利なオプションも多いから、一度ヘルプに目を通すのも良いです。

[master]$ git help log

■git statusコマンド。
現在のGit管理の状態を確認する。作業ディレクトリやステージングエリアのファイルがあるなら表示してくれる。

[master *]$ git status
〜

■git diffコマンド。
作業ディレクトリ(ワークツリー)とリポジトリ(コミット)の差分を確認できる。
(差分は、ファイル指定なしのgit diffコマンドだけだと、変更した全てのファイル内の変更箇所。)

[master *]$ git diff
特定のファイルの差分だけ確認したい場合、git diffの後にファイルを指定する。
[master *]$ git diff hoge.txt
--stagedオプションを付けると、ステージングエリア(インデックス)とリポジトリ(コミット)の差分を確認できる。
[master +]$ git diff --staged
[master +]$ git diff --staged hoge.txt

■git branchコマンド。
git branchコマンドはオプション無しだと、Git管理しているブランチの一覧リストを確認できる。

[master]$ git branch
新規ブランチを作成したい場合、git branchコマンドの後に作成したいブランチ名を指定する。developブランチを作成してみる。
[master]$ git branch develop
ブランチを削除したい場合、-dオプションで削除したいブランチを指定する。
[master]$ git branch -d develop
Deleted branch develop (was a4d481d).
ただ、削除しようとしたブランチの内容に修正(コミット)がある場合、完全にマージされてないよというエラーが出てブランチの削除ができない。
[master]$ git branch -d develop
error: The branch 'develop' is not fully merged.
If you are sure you want to delete it, run 'git branch -D develop'.
エラーが出ても構わずブランチを削除したい場合、エラーメッセージにある通り-Dオプションを指定すれば削除できる。
[master]$ git branch -D develop

■git checkoutコマンド。
ブランチを切り替える。developブランチに切り替えてみる。

[master]$ git checkout develop
Switched to branch 'develop'
[develop]$
ちなみにgit checkoutコマンドの-bオプションは、ブランチを新規で作ると同時にそのブランチに切り替える。
新規でhogebraブランチを作って同時にそのブランチに切り替えてみる。
[master]$ git checkout -b hogebra
Switched to a new branch 'hogebra'
[hogebra]$

■git switchコマンド。
git switchもブランチを切り替える。developブランチに切り替えてみる。

[master]$ git switch develop
Switched to branch 'develop'
[develop]$
git switchはGitバージョン2.23で追加されたコマンドらしくgit checkoutよりも新しい。昔はブランチの切り替え関係のコマンドはgit checkoutを使っていたが、今はgit switchを使った方が良いのかもしれない。

ちなみにgit switchコマンドの-cオプションは、ブランチを新規で作ると同時にそのブランチに切り替える(これもgit checkoutコマンドと同じ事ができる。)

[develop]$ git switch -c webbra
Switched to a new branch 'webbra'
[webbra]$ 

git checkoutのヘルプを見ると、ブランチの切り替え以外にもワーキングツリーのリストアもできるし、オプション一覧を見ると色々とできそう。

NAME
       git-checkout - Switch branches or restore working tree files

(広告)アマゾンでGit・GitHubの入門書・実践本を探す!

■git mergeコマンド。
あるブランチのコミット内容を別のブランチに取り入れる(マージする)。
masterブランチにいる状態でgit mergeでdevelopブランチを指定すると、developブランチのコミット内容をmasterブランチにマージする事ができる。

[master]$ git merge develop
両方のブランチの同じ箇所を修正していてgit mergeを実行した場合、コンフリクト(衝突)が発生する。
[master]$ git merge develop 
Auto-merging moge.txt
CONFLICT (content): Merge conflict in moge.txt
Automatic merge failed; fix conflicts and then commit the result.
コンフリクトが発生した場合、コンフリクト箇所を修正してgit addとgit commitをすれば解決できる。

■git rmコマンド。
Gitバージョン管理下にあるファイル・ディレクトリを削除する場合、git rmコマンドを使う。

[master]$ git rm moge.txt
git rmコマンドでファイル(moge.txt)を削除した後にlsコマンドで確認するとファイルは削除されて無くなっているが、git statusコマンドで状態を確認するとステージングエリアにいる状態なので、ちゃんとgit commitしてあげる。
[master +]$ ls
hoge.txt
[master +]$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	deleted:    moge.txt

[master +]$ git commit -m 'moge.txtファイルを削除した。'

■.gitignoreファイル
ちなみにGit管理下のディレクトリ内にあるファイルやディレクトリを削除するのではなく、ファイルやディレクトリは消さずに残すけどGitバージョン管理の対象外にしたい場合、.gitignoreファイルを作成して.gitignoreファイルにGit管理の対象外にしたいファイルやディレクトリを書けばいい。

■git mvコマンド。
Gitバージョン管理下にあるファイル・ディレクトリを移動する場合、git mvコマンドを使う。

[master]$ git mv hoge.txt tmp/
git rmコマンドと同じで、git mvコマンドを実行した後にgit statusコマンドで状態を確認するとステージングエリアにいる状態なので、ちゃんとgit commitしてあげる。
[master +]$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	renamed:    hoge.txt -> tmp/hoge.txt

[master +]$ git commit -m 'hoge.txtファイルをtmpディレクトリへ移動した。'

■git resetコマンド。
元のある状態(コミットポイント)に戻したい場合、git resetコマンドを使う。バックアップみたいに使えるから個人開発でも便利。
--hardオプションとコミットIDを指定すると、指定したコミットIDの状態まで戻れる。コミットIDはgit logで確認できる。また、指定するコミットIDは7桁あれば良いのでgit log --onelineオプションで表示するコミットIDを指定すればいい。

[develop]$ git log --oneline
89e969e (HEAD -> develop) moge.txtの修正。moge3の追加。
74c20dd (master) コンフリクトを解消。
c6c6c8f moge2.txtを追加。moge22を追加。
145c8d0 moge.txtの修正。moge2を追加。
489cc06 moge.txtファイルの作成。
d8492bd hoge.txtファイルをtmpディレクトリへ移動した。
c25336c moge.txtファイルを削除した。
a4d481d moge.txtファイルの作成。

[develop]$ git reset --hard c6c6c8f
HEAD is now at c6c6c8f moge2.txtを追加。moge22を追加。

[develop]$ git log --oneline
c6c6c8f (HEAD -> develop) moge2.txtを追加。moge22を追加。
489cc06 moge.txtファイルの作成。
d8492bd hoge.txtファイルをtmpディレクトリへ移動した。
c25336c moge.txtファイルを削除した。
a4d481d moge.txtファイルの作成。
6b8c16a hoge.txtファイルの修正(amendで修正)。
1e35a66 hoge.txtファイルの作成。
元のある状態に戻すのが少し不安な場合、新しいブランチを作ってそのブランチで試せばいい。そうすればやっぱり戻す必要なんて無かった…なんて後悔がなくなる。ちなみに--hardオプションにORIG_HEADを指定すれば、直前のgit resetの実行を無かった事にできるけど、やっぱり新しいブランチを作ってそこで色々と試した方が安心だし簡単だと思う。
[develop]$ git reset --hard ORIG_HEAD

何もオプションを付けずにgit resetでコミットIDを指定すると、コミットポイントは戻す事ができるがファイル自体の修正は戻らない(git statusコマンドで確認できる)。だから、コミットは取り消したいけどファイル修正を元に戻したくない場合に使える。

[develop]$ git log --oneline
c6c6c8f (HEAD -> develop) moge2.txtを追加。moge22を追加。
489cc06 moge.txtファイルの作成。
d8492bd hoge.txtファイルをtmpディレクトリへ移動した。
c25336c moge.txtファイルを削除した。
a4d481d moge.txtファイルの作成。
6b8c16a hoge.txtファイルの修正(amendで修正)。
1e35a66 hoge.txtファイルの作成。

[develop]$ git reset d8492bd

[develop]$ git log --oneline
d8492bd (HEAD -> develop) hoge.txtファイルをtmpディレクトリへ移動した。
c25336c moge.txtファイルを削除した。
a4d481d moge.txtファイルの作成。
6b8c16a hoge.txtファイルの修正(amendで修正)。
1e35a66 hoge.txtファイルの作成。

[develop]$ git status
On branch develop
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	moge.txt

あと、直前のコミットポイントにはHEADという名前が付いているので(git logでも確認できる)、直前のコミットポイントに戻りたい場合は--hardオプションにHEADを指定すれば戻れる。

[develop *]$ git log --oneline
c6c6c8f (HEAD -> develop) moge2.txtを追加。moge22を追加。
489cc06 moge.txtファイルの作成。
d8492bd hoge.txtファイルをtmpディレクトリへ移動した。
c25336c moge.txtファイルを削除した。
a4d481d moge.txtファイルの作成。
6b8c16a hoge.txtファイルの修正(amendで修正)。
1e35a66 hoge.txtファイルの作成。
[develop *]$ git status
On branch develop
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   moge.txt

[develop *]$ git reset --hard HEAD

[develop]$ git log --oneline
c6c6c8f (HEAD -> develop) moge2.txtを追加。moge22を追加。
489cc06 moge.txtファイルの作成。
d8492bd hoge.txtファイルをtmpディレクトリへ移動した。
c25336c moge.txtファイルを削除した。
a4d481d moge.txtファイルの作成。
6b8c16a hoge.txtファイルの修正(amendで修正)。
1e35a66 hoge.txtファイルの作成。
[develop]$ git status
On branch develop
nothing to commit, working tree clean
ただもちろんHEADじゃなくてコミットIDを指定しても戻れるしそっちの方が汎用性があるので、個人的にはgit resetコマンドを使う時はコミットIDを指定すればいいかなと思っている。

■git configコマンド。
リポジトリの設定やグローバルオプションの設定をしたり、設定情報を確認できる。
-lオプションを付けると、Gitリポジトリやグローバルオプションの設定一覧を確認できる。例えば、Gitユーザのメールアドレスや名前の設定、エイリアスコマンド、リモートリポジトリなどの情報がわかる。

[develop]$ git config -l
gitを使用するユーザのグローバルなユーザ名とメールアドレスを設定するには、--globalオプションでuser.name、user.emailを指定して設定する。
[develop]$ git config --global user.name "hoge name"
[develop]$ git config --global user.email "hogehoge@hogehoge.jp"
ユーザ名・メールアドレスを設定できたかどうかは、すぐ上でも書きましたが-lオプションで確認できる。

よく使うコマンドにエイリアス(別名)を設定したい場合も、"git config --global 〜"で設定できる。
例えば、git statusコマンドをgit stで実行できるようにするエイリアス設定です。

[master]$ git config --global alias.st status
これでgit stコマンドを実行できるようになる。

また、オプション付きのコマンドをエイリアス設定したい場合は、設定時にコマンドを""(ダブルクォーテーション)で囲む。 例えば、git log --onelineコマンドをgit logoneで実行できるようにするエイリアス設定です。

[master]$ git config --global alias.logone "log --oneline"
これでgit logoneコマンドを実行できるようになる。

設定したエイリアスコマンドの確認は、git config -lコマンドでできる。

エイリアスコマンドの設定を解除したい場合、git config --globalに--unsetオプションも付ける。

[master]$ git config --global --unset alias.st
[master]$ git config --global --unset alias.logone

また、~/.gitconfigファイルでもエイリアスコマンドの設定を確認できるし、このファイルを直接編集してエイリアスコマンドを設定したり解除したりもできる。

■git grepコマンド。
git grepコマンドは、macやLinuxのgrepコマンドと同じ使い方ができる。じゃあこの2つの違いは何かというと、ただのgrepコマンドはgitバージョン管理下にないファイルも含めて全てのファイルを検索対象にしてしまうが、git grepコマンドはgitバージョン管理下にあるファイルのみを検索対象にする(.gitignoreで指定したファイルだけでなく、.gitディレクトリなどgitバージョン管理下にないファイルは結構ある)。
だからgit grepの方が検索速度が圧倒的に速いというメリットがある。
なので、gitリポジトリ内でgrepしたい時は、git grepコマンドを使用する方が良い。
(ちなみに自分はgit grepコマンドの存在をしばらく知らなくて、初めてgit grepを使った時はあまりの高速さに感動したと同時に無知は損だなとちょっと落ち込んだ。)

git grepのコマンド例として、カレントディレクトリ(サブディレクトリも含む)のgit管理下のファイルを対象にhogehogeという文字列(大文字小文字区別無し)をgrep検索する。

[master]$ git grep -ir hogehoge .

(広告)Amazonでコマンド操作関連のKindleや書籍を探す。コマンド操作に強くなる!

■git remoteコマンド。
git remote addコマンドはリモートリポジトリの設定ができる。一般的にリモートリポジトリは、GitHubのリポジトリやサーバやクラウド環境のgit共有リポジトリ(bareリポジトリ)などを指定すると思う。けど自分のパソコンの適当なディレクトリをリモートリポジトリに設定できる。

例えば、AWSのec2上に作った共有リポジトリをリモートリポジトリに設定してみる。前提としてec2へのSSH接続設定は~/.ssh/configファイルで設定済みで、ssh ec2hostコマンドでSSH接続できる。また、ec2の/home/ec2-user/ec2web.gitディレクトリに共有リポジトリ(bareリポジトリ)を作成済み。共有リポジトリは"git init --bare"コマンドで作れる。
それでは、ec2上の共有リポジトリをリモートリポジトリに設定する。

[master]$ git remote add origin ssh://ec2-user@ec2host/home/ec2-user/ec2web.git
originはリモートリポジトリに付けた名前、ec2-userはec2へのSSHログインユーザ、ec2hostはec2のホスト名(~/.ssh/configファイルで設定したHost名)、ec2web.gitはec2上で建てた共有リポジトリ(bareリポジトリ)。

リモートリポジトリの設定の確認は、git remote -vコマンドかgit config -lコマンドでできる。

[master]$ git remote -v
origin	ssh://ec2-user@ec2host/home/ec2-user/ec2web.git (fetch)
origin	ssh://ec2-user@ec2host/home/ec2-user/ec2web.git (push)
[master]$ git config -l | grep remote
remote.origin.url=ssh://ec2-user@ec2host/home/ec2-user/ec2web.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
リモートリポジトリの設定の取り消しは、git remote rmコマンドでできる。
[master]$ git remote rm origin

■git pushコマンド。
ローカル環境のgitリポジトリの内容をリモートリポジトリ(共有リポジトリ)にアップして更新する(ローカル環境のgitリポジトリとリモートの共有リポジトリの同期を取る)。
設定したoriginというリモートリポジトリにmasterブランチの内容をpushしてみる。

[master]$ git push origin master

■git cloneコマンド。共有リポジトリの内容をクローン(複製)する。
共有リポジトリ(ssh://ec2-user@ec2host/home/ec2-user/ec2web.git)を、適当なec2webdirディレクトリを作成してそこにクローンする。

$ git clone ssh://ec2-user@ec2host/home/ec2-user/ec2web.git ec2webdir
問題なくクローンできればec2webdirディレクトリがgitリポジトリになり、git remote -vコマンドでリモートリポジトリの設定を確認すると、共有リポジトリがリモートリポジトリに設定されている事が確認できる。
[master]$ git remote -v
origin	ssh://ec2-user@ec2host/home/ec2-user/ec2web.git (fetch)
origin	ssh://ec2-user@ec2host/home/ec2-user/ec2web.git (push)
リモートリポジトリ名はoriginになっている。

■git pullコマンド。
リモートリポジトリの内容(最新コミット)をローカルのgitリポジトリに取り入れる(同期を取る)。
設定済みのoriginというリモートリポジトリのmasterブランチを、ローカルのgitリポジトリに取り入れる。

[master]$ git pull origin master

Figをインストールしてコマンドライン操作を速く・快適にする。Figはgitコマンドでも有効に使える。

Figという便利なツールの紹介です。macOSにFigをインストールする事で、ターミナルでコマンド入力する時にコマンドの入力候補を提案してくれるようになります(自動補完機能・サジェスト機能みたいな感じ)。
Figのコマンド操作の自動補完機能の例

Figの自動補完機能は強力なので、Figを導入すればコマンド操作がより速く・快適になると思います。
そして、Figはgitコマンドでも有効なので、gitのサブコマンドやオプション・ファイル名・ブランチ名などの入力時に助けになってくれます。
gitはサブコマンドが多いし、git mergeコマンドでブランチ名をFigが補完してくれるし、git diffやgit addコマンドのファイル指定でもFigがファイル候補を補完してくれるので、Figとgitコマンドの相性は非常に良いです。

Figのインストール方法については別ページで紹介していますので、興味のある方は参考にしてください。
Figをインストールしてコマンド操作を自動補完で快適にする

EclipseのSpring BootプロジェクトのソースコードをGitで管理する。ec2、さくらのレンタルサーバ、vagrant上にgit共有リポジトリを作る

gitコマンドの具体的な使用例として、別ページでEclipseで開発しているSpring BootプロジェクトをGitで管理する方法を書いています。
EclipseのSpring BootをGitで管理する。更にリモート環境でGit共有リポジトリ管理も

また、AWSのec2、さくらのレンタルサーバ、vagrant仮想マシン上にgit共有リポジトリ(bareリポジトリ)を建てて、gitリモート管理する方法についても別ページで説明しています。
ec2、さくらのレンタルサーバ、vagrant上にgit共有リポジトリを作る