- 更新日: 2020年09月25日
- 公開日: 2016年04月15日
非エンジニアも知っておくべき!ーGitとGithubの違いとは
プログラミングをやっていて、「あ、元に戻したい、、、」と思うときはありませんか?
バージョン管理システムはそんな悩みを解決するために、変更履歴の保存ができるツールです。
Gitはさらに、ソースコードを好きなタイミングに戻すことや、編集した箇所の差分を簡単に比較できます。
また、GitHubはGitで管理しているソースコードを、インターネット上で誰でもダウンロードしたり編集したりが可能です。
今回は、最も人気なバージョン管理ツールであるGitと、Git管理されているソースコードをweb上で管理できるGitHubについて解説していきます。
バージョン管理システムとは
バージョン管理システムとは、テキストファイルの変更履歴を保存できるツールであり、Gitもそのうちの1つです。 バージョン管理システムには、「中央集中型」と「分散管理型」があり、今回扱うGitは「分散管理型」にあたります。 以下で簡単に説明しますが、省いている部分も多いので、気になる方は「バージョン管理システム 集中 分散」等で調べてください。
中央集中型
中央集中型では、
1つのサーバーにファイル群が保存してある(これをリポジトリという)
それを利用者がコピー、編集し、編集内容をサーバーに登録する
登録されて初めて、他の利用者が編集した内容を見ることができる
オンラインでないとサーバーに保存できないので、作業が行えない
といった特徴があります。
分散管理型
Gitを含む分散管理型では、ローカルにリポジトリを作ります。 ローカル環境で編集、保存したソースコードは、オンラインになった時にリモートリポジトリに保存します。 オフラインでも自身の環境で作業が進められるので、Gitの登場以降、分散管理型が好まれています。
Gitの基礎
Gitの特徴や開発の進め方、基本的な機能について説明します。
Gitとは?
Gitとは、ソースコードをあらかじめ登録しておいたポイントに戻したり、編集した差分を簡単に比較できるツールです。 複数人で開発を進める際に、「誰が」、「どこのファイルの」、「何行目を」、「いつ」、編集したかが分かります。 Gitを用いた開発は、常識といっても過言ではありません。 一緒にマスターしていきましょう!
Gitを用いた開発の流れ
Gitを用いた開発の流れは、以下の通りです。
ローカル環境での作業
- GitHubからリモートリポジトリを、ローカルリポジトリにコピーする or git initでソースコードのGit管理を始める
- ローカルリポジトリでbranchを作成する
- 作成したbranchでソースコードを編集する
- 編集した内容をgit addでステージング
- git commitでステージングした内容をローカルリポジトリに保存
- git pushでリモートリポジトリに変更内容を保存
GitHub上での作業
- プルリクエストを作成し、masterブランチと作成したbranchをマージ
それでは、GitとGitHubの使い方を見ていきます。
ローカルリポジトリの使い方
リポジトリの作成
共有リポジトリがない場合は、下記のコマンドを実行して新規リポジトリを作成します。
git init
クローンする
共有リポジトリがある場合は、GitHubからurlをコピーして書きのコマンドを実行します。
git clone <url>
ブランチを作成する
プロジェクトから分岐を作り、もとのコードに影響を与えずに開発が進められる機能のことをブランチと言います。
git checkout -b <ブランチ名>
でブランチを作成することができます。 また、
git branch
で現在のブランチの確認、
git checkout <ブランチ名>
で既存ブランチへの移動ができます。
ステージング
ローカルで行なった変更内容をステージングします。この時点ではまだ変更内容はリポジトリに反映されません。 変更を反映させたいファイルを指定して、addコマンドでステージングをすることが可能です。
git add <ファイル名>
または、-Aオプションをつけることでフォルダ内の全てのファイルをステージングすることができます。
git add -A
コミット
下記のコマンドでコミットします。これでローカルリポジトリに保存が完了します。
git commit -m “コメントを入力してください。”
プッシュ
最後に、ローカルリポジトリに保存した内容をGitHubにpushします。これでリモートリポジトリに保存が完了します。
git push <リモートリポジトリ名> <ローカルブランチ名>
何も設定しないとリモートブランチ名はorigin、ローカルブランチ名はmasterになっています。 また、-uで上流ブランチを設定します。
git push -u origin master
と入力すれば完了です。 1度pushしたブランチでは、
git push
と引数を入力しなくてもpushできます。
GitHubの基礎
ここからは、GitHubの基礎について解説します。
GitHubとは?
Gitでは、リモートリポジトリとローカルリポジトリを使い分けて開発を行います。GitHubとは、このリモートリポジトリにあたる部分を提供しているサービスのことです。複数人での開発をサポートしてくれる便利機能が備わっていて、現在ではエンジニアにとって欠かせないツールの1つになりました。無料プランでプライベートリポジトリを使用する際は、リポジトリごとに最大3人のコラボレーターとの共同作業が可能です。
GitHubの基本的な使い方
アカウントの作成
まずはアカウントを作りましょう。下記の公式ページより作成できます。 GitHub公式ページ
リポジトリを新規作成する
GitHubにログインしたら、右上の+ボタンをマウスオーバーすると出てくるNew repositoryをクリックしましょう。
リポジトリの内容を入力してCreate repositoryボタンをクリックします。これで新規リポジトリができました。
リモートリポジトリをクローンする
リモートリポジトリをクローンする方法です。先ほど作成したリポジトリのURLをコピーして、下記のコマンドを実行します。
git clone git://github.com/○○○/□□□.git
これでリモートリポジトリがコピーされ、ローカルリポジトリが作成されます。
リモートレポジトリにプッシュする
さて、開発が完了したらリモートリポジトリにプッシュします。プッシュするためのコマンドは下記です。
git push origin master
リモートリポジトリの登録をしていない場合は、事前に下記のコマンドを実行しておきましょう。
git remote add origin https://github.com/○○○/□□□.git
プルリクエストを送る
New pull requestボタンを押して、ブランチ同士をマージすることでリモートリポジトリを更新します。
複数人の開発では、機能ごとに担当者をわけ、それぞれがブランチ作成しプルリクエストを送ることで開発を進めていきます。
\Webサイト担当者としてのスキルが身に付く/
まとめ
今回は、GitとGitHubについて解説しました。これらは複数人で開発するための必須スキルです。実際に制作物を作りながら、使い方に慣れておきましょう!
CodeCampではこれからプログラミングを学びたい方へマンツーマンでプログラミングレッスンを受けれる無料レッスンを実施しています。現役エンジニアからレッスンを受けることができるので、プログラミング学習を始める方は受けてみてはいかがでしょうか?
- この記事を書いた人
- りもた