ケアリッツ・テクノロジーズ

Git初心者必見!基本コマンドまとめ


はじめまして、ケアリッツ・テクノロジーズのシニアアソシエイト、ごずちと申します。
普段は弊社のプロダクト開発にバックエンドエンジニアとして従事しています。

さて、エンジニアの皆さん、Gitは使っていますか?
Gitを利用するにあたっては、Atlassian社のSourceTree等を利用してGUIで使用する方法や、ターミナル等を用いてコマンドでGitを操作する方法があるかと思います。周囲にはSourceTreeを利用している人が多いのですが…私はSourceTreeは使わずGitコマンドを愛用しております。
GUIのツールを使うにしても、Gitコマンドは基本中の基本ですので知っておいて損はありません!と、いうことで今回はGit操作の基本的なコマンドをご紹介したいと思います!
(こんなのちょろいぜ!って方は温かい目で見守っていただけると…笑)

そもそもGitって何?

Gitとは分散型のバージョン管理システムです。ざっくりいうと、ファイルのバージョン管理(更新履歴など)が簡単にできるツールです。これにより、ファイル内容の変更差分のチェックや過去の履歴を管理できるようになるため、誤って更新してしまった場合の復元や、修正前後の比較が簡単にできるようになります。
なお、Gitを利用するにはあらかじめPCにGitをインストールしておく必要があります。

Gitの基本コマンド集

特に利用頻度が高いGitのコマンドを紹介いたします。

git clone

cloneは名前の通り、自分のローカル環境にクローンする(ダウンロードするイメージ)コマンドです。
例)リモートのtestリポジトリをローカルにクローンする

git fetch

fetchはリモートリポジトリ(サーバ上)から最新の状態を取得しにいく処理です。ローカルリポジトリ(PC内)とリモートリポジトリを比較して、差分を確認できます。

git pull

pullはリモートリポジトリの変更をローカルリポジトリに取り込むコマンドです。ローカルリポジトリとリモートリポジトリに差分があった場合には、通常その差分を自動的に取り込んでくれます。

git checkout

checkoutは作業ブランチの切り替えを行うコマンドです。また、新しくローカルブランチを作成する場合にも使用できます。
例)操作ブランチをtestリポジトリに切り替える

また、-bオプションをつけると、新しくローカルにブランチを作成することも可能です。
このオプションでは、このとき、すでにローカルに作成済みのブランチ名を指定するとエラーになります。
例)リモートのtestブランチの内容でローカルにtest2ブランチを作成

git switch

switchはcheckout同様、ブランチの切り替えを行うコマンドです。
checkoutと同じ操作ができますが、オプションが若干異なります。どちらを使ってもよいですが、細かい操作をするときに使い分けしてみてください。
例)ローカルのtestブランチに切り替える

git add

addはコミットファイルを追加するコマンドです。エディタや開発環境に統合された環境で作業していると、あまり利用することはないかもしれません。
-Aオプションをつけると、変更した全ファイルをまとめて追加できます。
-fオプションをつけると、.gitignoreのファイルも追加することができます。.gitigonoreはGit管理の対象外とするファイルが記載されたファイルです。
例)コミットファイルにtest.phpを追加する

git commit

commitはaddコマンドで追加したファイルや、ファイルの変更をローカルリポジトリに反映するコマンドです。チームで開発する場合、コミット内容の説明などを記載するのが原則です。チームやプロジェクトで何を記載するべきか、よく話し合っておきましょう。なお、この時点ではリモートリポジトリには反映されません。あくまで自分のローカル環境の中での更新を確定させるための処理です。
-mオプションを付与することで、コメントを設定できます。
例)「初回コミット」というコメントを入れてコミットする

git push

pushは、前述のコミットが実行された変更を、リモートリポジトリに反映させるためのコマンドです。このコマンドを実行することで、他の人に自身の変更を見てもらえる状態になります。
プッシュする際は「origin」を必ずつけます。(originはリモートブランチの意味です)
例)リモートのtestブランチにプッシュする

まとめ

今回は、初心者向けにGitコマンドをいくつか紹介しました。
コマンドでも操作できると、ツールを利用しているときに困ってもすぐに解決出来たり、慣れてくるとGit操作がよりスムーズにできるようになるのではないかと思います。

また、コマンドのほかにも、Gitには更新が競合してしまった場合の解消方法であったり、初心者がハマりやすいポイントがたくさんがあります。そのあたりは、またの機会ということで…
では、よいコマンドライフを!

投稿者プロフィール

ごずち
ごずちテクニカルサービス事業部 - シニアアソシエイト
施工管理、事務処理系アウトソーシングなど様々なバックグラウンドを経て現在はケアリッツ・テクノロジーズのテックリードとして従事。
得意言語はPHPであり、最近はNuxt.jsなどのフロントエンド開発も手掛け、フルスタックエンジニアになることが目標。
仕事では、何事もスピーディーにをモットーに取り組んでます!