Webサービスやアプリ開発の現場では必須のバージョン管理システム「Git(ギット)」。4月のイベントでは、Gitの基礎の基礎をお伝えしましたが、この連載コラムでは、「Git コマンド編」をマンガで解説します。
Gitは、専用のソフトを使えばクリックで直感的に操作することもできますが、いざというときにコマンドが使えると便利です。今回は、ある程度のGUIでならGitは使えるけれど、コマンド操作は苦手という方のために、主人公のわかばちゃんがカンタンなGitコマンドを実践していきます。みなさんも一緒に操作してみましょう!
GUIとCLIの違い
みなさんが普段パソコンを操作するとき、どのように操作していますか?マウスやタッチパッドを使って、デスクトップのアイコンをクリックしたり、ファイルをドラッグしてゴミ箱に捨てたりしていると思います。これがGUI(グラフィカルユーザーインタフェース)です。
対して、キーボードのみを使ってOSに命令を送り、パソコンを操作するのがCLI(コマンドラインインターフェース)です。プログラマが使っている「黒い画面」と言えばイメージが付きやすいでしょうか。
もともと、初期のコンピュータは、キーボードからコマンドを打ち込んで操作するものでした。1980年以降、コンピュータの処理性能が上がったことによって、直感的に操作できるGUIが普及し始めたのです。
Gitも本来はCLIで操作するものですが、普及に伴って、コマンドを打ち込まずともクリックで操作できるGUIソフトが登場してきました。SourceTree(ソースツリー)やGitKraken(ギットクラーケン)、GitHub Desktop(ギットハブデスクトップ)などです。
これだけを聞くと「操作しやすいGUIがあるなら、わざわざ玄人向けのCLIを使う必要はないじゃない」と思うかもしれません。ところがCLIには様々なメリットがあるのです。
CLIのメリット
たとえば、今から新規リポジトリを作るとしましょう。
GUIの場合、ソフトを立ち上げてから「新規リポジトリ → ローカルリポジトリを作成」の順にクリックする必要があります。
対して、CLIならこう打つだけです。
$ git init
これだけで新規リポジトリができてしまいます。
どうですか?簡単でしょう。
単に操作がシンプルになるだけではありません。CLIにしかできない操作もあります。GUIは初心者でも使いやすいことを目的として作られているため、基本的な操作はできるものの、一部削ぎ落とされている機能があるからです。
いざというとき便利なコマンド、かゆいところに手が届くコマンドがGitにはたくさんあります。この連載でひとつずつ知っていくことで、「pushできなくなった」「マージしていないブランチを間違って消してしまった」といった問題が起きても、すぐ対処できるようになります。きっとあなたもGitをもっと好きになることでしょう。
CLIを使ってみよう
MacのCLIは「ターミナル」と呼ばれているぞ。Launchpadの「その他」から選んでクリックします。もしくは[Control] + [スペース]キーを同時に押して、「terminal」と入力、検索すると出てきます。
Windowsでは「コマンドプロンプト」と呼ばれています。
[スタートボタン] > [すべてのプログラム] > [アクセサリ] > [コマンドプロンプト] をクリックすると立ち上がります。
Gitがインストール済みか確認しよう
$ git --version
と入力して、
git version 2.19.0
のように出てくればインストール済みです。次に進みましょう。
インストールがまだの方は、Git公式ドキュメントのGitのインストールの手順を実行するか、SourceTreeをインストールしてください。SourceTreeのパッケージの中にGitも含まれています。
コマンドでGitを使ってみよう
$ pwd
$ pwd /Users/wakaba
$ ls Desktop Documents Downloads Library Movies Music Pictures Public ……
$ cd Desktop
$ mkdir lesson
$ cd lesson
$ git init
$ echo “Hello Git” > sample.txt
$ git status
$ git add [ファイル名]
$ git status
$ git commit -m “ここにコミットメッセージを書く”
コミットログ(履歴)を見てみよう
$ git log
$ git log --graph
このあたりはいろいろ試しながらやってみて、あなたがやりやすい方法を選んでくださいね。
まとめ
さて、ここまでで
$ git init (リポジトリを作る) $ git status (状況を確認する) $ git add (ステージする) $ git commit (コミットする) $ git log (履歴を見る)
が使えるようになりましたね!
▼ これまでの「マンガでわかるGit」
第2話「ブランチの概念」
第3話「マージの仕組み」
第4話「コンフリクトの修正」
第5話「git revert」
第6話「git reset 3種類」
第7話「git reflog」
第8話「git switchとgit restore」
第9話「git diff」
第10話「git cherry-pick」
第11話「git stash」
第12話「git grep」
第13話「git blame」
第14話「git remote」
第15話「.gitconfig でコマンドを短縮」
第16話「.gitconfig と .git/config で複数のGitアカウントを使い分ける」
第17話「prune オプション」
第18話「git tag」
第19話「detached HEAD 状態って何?」