ネプラスのテックブログ。ネットワーク、クラウド、サーバなどのITインフラ情報を中心に発信中。

  1. ネプラス インフラエンジニア採用
  2. テックマガジン
  3. テクノロジー
  4. Gitのコマンドを使いこなそう!頻繁に使用するコマンドを実例を用いて紹介

Gitのコマンドを使いこなそう!頻繁に使用するコマンドを実例を用いて紹介

  • テクノロジー
  • プログラミング
公開日時:   更新日時:
Gitのコマンドを使いこなそう!頻繁に使用するコマンドを実例を用いて紹介
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    Gitとは?


    Gitとは、バージョン管理システムの1つです。

    アプリケーションのソースコードの管理や、システムの共同開発の際に使用するツールとして様々な場面で使用されています。

    GitとGithubの違い

    Gitはバージョン管理システムそのものを指し、GithubはGitを用いたウェブサービスの名称です。

    Githubでは、クラウド上にリモートリポジトリが作成され、これに対してコードのレビューを行う機能(プルリクエスト)があります。

    リポジトリ

    リポジトリとは、ディレクトリやファイルに関する情報を保管している場所です。

    Gitには、ローカルリポジトリとリモートリポジトリの2つがあります。

    ローカルリポジトリ

    ローカルリポジトリとは、ユーザのPC内にあるリポジトリです。

    作業は基本的にローカルリポジトリで実施します。

    リモートリポジトリ

    リモートリポジトリとは、サーバーやクラウド上に存在するリポジトリです。

    作業中はローカルリポジトリで作業した内容をリモートリポジトリに反映する手順があります。

    リモートリポジトリと同期することで、万が一ローカルリポジトリのデータが消えてしまった場合でもデータを復元することができます。

    Gitの使用方法


    Gitはコマンドラインインターフェース(CLI)とグラフィカルユーザインターフェース(GUI)の双方を利用することができます。

    一般的にはCLIを用いて操作する場合が多いですが、初心者や操作に不安のある方はGUIで慣れていくと良いでしょう。

    ここからは、頻繁に使用するコマンドを実例を用いて紹介します。

    アプリケーションをgitの監視下に置く

    アプリケーションをgitの監視下に置く場合、その指示を出す必要があります。

    コマンドはgit initです。

    正常にgitの監視下に置く準備ができているかを確認します。

    対象のディレクトリで、コマンドls -laを実行します。

    上記のように、隠しディレクトリ.gitが生成されていれば成功です。

    リモートリポジトリ上のファイルを自分のPCへコピーする

    Gitでは、リモートリポジトリ上にあるファイルを自分のPCへコピーすることができます。

    コマンドはgit cloneです。

    ブランチを作成する

    Gitを用いて作業する際は、ブランチを作成して作業します。

    ブランチを作成することで、大元のファイルがコピーされ、コピーした側で作業をすることができます。
    ブランチを作成するコマンドはgit branch ブランチ名です。

    例えば、ブランチ名branch_Aのブランチを作成する場合、以下のようにコマンドを使用します。

    現在のブランチを確認する

    作業中、現在作業しているブランチ(カレントブランチ)は都度確認するようにしましょう。

    コマンドはgit branchです。

    アスタリスクが付いているブランチがカレントブランチです。

    ブランチを切り替える

    作業中にブランチを切り替える場合があります。その際は、コマンドgit checkout ブランチ名を使用します。

    なお、ブランチを切り替える際は未コミットの情報をコミットしておくようにしましょう。

    例えば、マスターブランチからbranch_Aに切り替える場合のコマンドは次の通りです。

    リポジトリの状態を確認する

    ブランチを作成し、変更登録する際には事前にリポジトリの状態を確認しましょう。

    コマンドはgit statusです。

    本コマンドを実行すると、差分が出ているファイルを確認することができます。
    上記の例では、README.mdで差分が発生していることを示しています。

    差分をインデックスに追加する

    編集して発生した差分をリモートリポジトリに反映させるためには、まずインデックスに追加する必要があります。

    コマンドはgit addです。

    インデックスとは?

    インデックスとは、ワークツリー(作業しているファイル)とリポジトリの間に存在する差分を登録するための準備が行われる場所です。

    インデックスはステージとも呼ばれます。

    差分を登録する

    差分をリポジトリに登録することを「コミット」と呼びます。

    コミットすることにより、リモートリポジトリへ反映する準備が整います。

    コマンドはgit commit [オプション] [ファイル名]です。

    -mオプションを付けることで、コミットにメモを残すことができます。

    このメモは、「このコミットはどのようなコミットであるか」を書き残しておくために使用します。

    コミットすると、コミットIDが付与されます。コミットを取り消す場合などには、このコミットIDを使用します。

    コミットの履歴を確認する

    Gitでは、コミットの履歴やコミットに付与されたIDを確認することができます。

    コマンドはgit logです。

    この出力の21e11994d84aa5b4b533b9bc49cf003250c266c9がコミットIDです。

    過去のコミットを取り消す

    誤ってコミットしてしまった場合など、過去のコミットを取り消すことができます。

    コマンドはgit revert コミットIDです。

    revertを行うと、該当のコミットを取り消すコミットが生成されます。

    差分をリモートリポジトリへ反映させる

    リポジトリに登録された差分をリモートリポジトリへ反映させることを「プッシュ」と呼びます。

    プッシュすることで、初めてリモートリポジトリにコードが反映されます。

    コマンドはgit pushです。

    originとは?

    originとは、リモートリポジトリのことです。

    Gitを使用していく上で、頻繁に登場しますので是非覚えておきましょう。

    最初のコミットをプッシュする場合

    初回の場合、リモートリポジトリの情報を予め登録しておく必要があります。

    手順は以下の通りです。

    ①:ブラウザのGithub上でリポジトリを作成する

    ②:以下のコマンドをコピーする

    ③:②でコピーしたコマンドをCLIで実行する

    初回の場合、ここまで実行することでプッシュできるようになります。

    差分を統合する

    作成した差分は別のブランチのデータと統合することができ、この作業を「マージ」と呼びます。

    コマンドはgit merge ブランチ名です。

    例えば、マスターブランチの内容をマージする場合は以下のように使用します。

    リモートリポジトリのマスターブランチ内容をローカルリポジトリに反映させる

    リモートリポジトリのマスターブランチの内容とローカルリポジトリの内容に差分がある際、リモートリポジトリの内容をローカルリポジトリに反映させることができます。

    この手順を「プル」と呼びます。

    コマンドは git pullです。

    以上が基本的なよく使用するコマンドです。

    発展的なコマンド

    Gitのコマンドには頻繁には使用しない発展的なものもあります。

    今回は知っておくと役に立つコマンドを3点紹介しますので、ぜひ参考にしてみてください。

    履歴を修正する

    リセットすることで、誤った記述をコミットしてしまった場合など、コミット履歴を修正することができます。

    コマンドはgit reset <コミットID> <戻したい場所>です。

    例えば、コミット履歴が以下の通りにあるとします。

    これを、update Readmeの前に戻したい場合は次のようにコマンドを使用します。

    このように実行することで、履歴は次のようになります。

    update Readmeが無かったことになりました。

    「どこまで戻すか」については、次のオプションがあります。

    対象のコミットそのもののみを削除したい場合

    indexまでを削除したい場合

    指定は不要

    index、ワーキングツリーまで削除したい場合

    ファイルの内容を変更したくない場合は--hardを使用しないようにしましょう。

    コミットを他のブランチに移動する

    cherry-pickを使用すると、指定したコミットを他のブランチに移動させることができます。

    例えば、branch_Bで作成したコミット・second_commitをbranch_Aへ移動させるとします。

    ブランチをbranch_Aに切り替える

    ブランチを移動させたいブランチへ切り替えます。

    コマンドgit cherry-pick コミットIDを実行します。

    git logでブランチが切り替わっていることを確認します。

    以上の操作で、second_commitの内容がbranch_Bからbranch_Aへ移動しました。

    コミットせずに一時的に退避させる

    stashを用いることで、作成した差分をどうしてもコミットしたくない場合、一時的に退避させることができます。

    現在、README.mdで差分が発生しています。

    これをコミットしたくないため、一時的に退避させます。

    コマンドはgit stashです。

    退避リストを見る

    退避リストはコマンドgit stash listで確認できます。

    stashした変更を復元する

    stashしたものを復元するためには、コマンドgit stash apply 退避リストの順番を使用します。

    今回の例では、0番目のstashを復元します。

    戻した内容は退避リストに残ります。

    変更を復元しつつ、退避リストからも削除したい場合はコマンドgit stash pop 退避リストの順番を使用します。

    例えば、1番目の変更を復元する場合は以下のように使用します。

    退避リストを削除する

    退避リストを削除する場合、コマンドgit stash drop 退避リストの順番を使用します。
    順番を指定しない場合、最新の変更が削除されます。

    全てを一括で削除する場合は、コマンドgit stash clearを使用します。

    Gitはコマンドを使いこなすことで作業がラクになる


    今回は、Gitのコマンドについて、頻繁に使用するコマンドと発展的なコマンド3点を紹介しました。

    Gitでは、コマンドでしか実行できない操作が多くあります。

    それらも含めて、効率良く開発を進めていくためにはコマンド操作がとても便利です。

    普段、GUIを使用してGit操作をされており、慣れてきた方は是非コマンドでの操作に挑戦してみては如何でしょうか。

    画面を切り替える必要がなくなるため、効率良く作業を進めることができます。

    是非、Gitのコマンドを使いこなして効率良いアプリケーション開発を行っていきましょう。

    FEnetを運営しているネプラス株式会社はサービス開始から10年以上
    『エンジニアの生涯価値の向上』をミッションに掲げ、
    多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
    ネプラス株式会社ロゴ

    ネプラス株式会社はこんな会社です

    秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • インフラ業界に特化

      インフラ業界に特化

      ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。

      業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。

    • 正社員なのにフリーランスのような働き方

      正社員なのにフリーランスのような働き方

      正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。

      プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。

    • 大手直取引の高額案件

      大手直取引の高額案件

      案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。

      Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。

    • スキルアップ支援

      スキルアップ支援

      不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。

      受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など

      ※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。

    • 現給与を保証します!

      100%現給与保証

      前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。

      ※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。

    • インセンティブ制度

      インセンティブ制度

      ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。

      取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。

    • 社会保険・福利厚生

      社会保険・福利厚生

      社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。

      さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    ネプラス株式会社に興味を持った方へ

    ネプラス株式会社では、インフラエンジニアを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    オンライン面接も随時受付中。ぜひお気軽にご応募ください。

    ネプラス株式会社へのご応募はこちら↓
    ネプラス株式会社へのご応募はこちら↓

    新着案件New Job