初心者のためのGit入門 〜基礎編〜

Git

初心者のためのGit入門〜基礎編〜

もくじ

  • はじめに
  • 今回使用する用語
  • バージョン管理について
  • 集中型と分散型の違い
  • GitとGitHubの違い
  • 作業概要図
  • ファイルをリモートリポジトリにアップロードしてみる
  • 感想

はじめに

  • 背景
    • 業務でGitを使う機会があったが、ほとんど触れたことがなかったため、学習しながらの作業となった。
    • そのためこれを機に、Gitを0から学び「初心者でもわかるGit」という記事にまとめていきたいと思います。
  • 目的
    • Git初心者がこの記事を読んで、Gitについて最低限理解できるようになること。
    • 自分のGitに関する知識の整理のため。

今回使用する用語

  • リポジトリ repository (ファイルやディレクトリの状況を記録する場所)
    • リモートリポジトリ (複数人が共有するためのリポジトリ)
    • ローカルリポジトリ (自分が利用する端末上のリポジトリ)
  • クローン clone (リモートリポジトリの履歴を複製してローカルリポジトリにまるごとダウンロードする)
  • コミット commit (ファイルの変更や追加をリポジトリに記録する操作のこと、またその際に記録される差分のこと)
  • プッシュ push (ローカルリポジトリでの変更や追加の履歴をリモートリポジトリにアップロードする)

バージョン管理について

  • バージョン管理とはファイルの作成や更新、変更についての履歴を管理することである。
  • 主なバージョン管理ソフトウェアとして有名なのは集中型のSVN(Subversion)と分散型のGitである。
  • 現在は分散型のGitが主流となっている。

集中型と分散型の違い

  • 集中型は1つしかリポジトリを管理できないので、コミットを行うとそのままリモートリポジトリに反映される
  • 対して分散型は複数のリポジトリで管理を行うことができ、コミットを行ってもローカルのリポジトリに反映されるだけなので、リモートに影響なく実験を行えたり、いざという時の復元も行いやすい

GitとGitHubの違い

  • Git
    • ソフトウェア開発のための分散型バージョン管理システム
      • 誰が何を変更や追加したかという情報を記録するシステム
      • 問題が発生しても過去の状態に復元することも可能
      • ファイルを好きなタイミングで更新履歴として保存することができる
  • GitHub
    • Gitの仕組みを利用したWebサービス
      • プログラムを保存するだけでなく、公開もされる

作業概要図

ss2017-03-2712.57.43.png

ファイルをリモートリポジトリにアップロードしてみる

  • 想定している作業環境 : Mac

事前準備

GitHubでリポジトリを作成する

  1. GitHubにログインし、「Repositories画面」で「New」ボタンを押下する

  1. 新しく作成するリポジトリの設定を行う
    リポジトリの名前、外部への公開/非公開などの設定を行う

    ss2017-03-2311.42.29.png

    設定を終えたら「Create repository」を押下する

  2. リポジトリが作成され、URIが表示される

このURIは後ほどクローンを行う際に使用します

主作業

  1. ターミナルを開く
  2. ローカルのリポジトリに移動

  3. リモートリポジトリからプロジェクトをクローンする
    リポジトリ作成の際に表示されたURIをここに入力します

  4. ファイルを追加する

    追加するファイルを、作業しているローカルリポジトリ内に保存する

  5. 確認 : ファイルが追加されているか調べる

    • コマンド解説
      • -n:コマンドを実行し何が起こるかを確認することができる(反映はされない)
      • -A:プロジェクト内すべて
    • 出力結果

  6. 追加したファイルをコミットの対象にする

  7. 確認 : 変更が加えられたファイルを表示する

    • 出力結果

  8. ファイルをコミットする

    • コマンド解説
      • -a:変更点を自動検出する
      • -m:オプションメッセージ指定
    • 出力結果

  9. リモートリポジトリにプッシュする

    • 出力結果

確認作業

  1. GitHub上でプッシュできているか確認をする

感想

  • CUIでの作業について、とても難しいという風に聞いており、恐れていたが、実際に学び手を動かしてみると、意外と怖くなかった。
  • Gitコマンドから覚えることで、今までGUIツールで補っていたGitの基礎を身につけることができ、同時にGUIツールのありがたみを感じました。

この記事を書いた人

山里啓一郎
山里啓一郎

1993年東京生まれ。2016年入社。

UI/UXやHTML/CSS、JavaScriptなどフロントエンドに関心。

Git