gitとgithubの違い

違います

gitはバージョン管理をするソフトウェアの名前であり,githubは共有リポジトリのホスティングサービスです。

gitって?

バージョン管理をするためのソフトウェアのことです。
オープンソースで開発されており,無料で利用することができます。

バージョン管理

プログラムでもCADでも何でも良いですが,Windowsでは基本的に1つのファイルしか保存されず,
「あ゛あ゛あ゛あ゛あ゛あ゛間゛違゛え゛て゛上゛書゛き゛し゛た゛あ゛あ゛あ゛あ゛あ゛あ゛」
というやらかしをよく耳にします。
(シャドウコピーという機能はありますが,gitに比べれば屁みたいな機能です)

Windowsの保存機能をポケモンのセーブ機能とすると,
gitはノベルゲームのコメント付きセーブ機能みたいなものだと考えると,その凄さは分かってもらえると思います。

はじめは

なにはともあれgitをインストールしましょう。
Windowsの場合は こちら から,
Linuxの場合はお使いのパッケージ管理システムからインストールできます。

はじめのうちはコマンドを叩いてgitを使うことをオススメしますが,
便利なフロントエンドとして,Windowsの場合は TortoiseGit, Emacserの場合は Magit をオススメしておきます。
これらの使い方は省略するので,頑張って使いこなしてみてください。

コミットへの第一歩

gitの基本は実にシンプルです。

概要 コマンド
gitで管理するファイルを登録 git add
編集したファイルを”更新リスト”に追加 git add
“更新リスト”にコメントをつけて保存 git commit

これだけでローカル環境でのファイル管理は,とりあえずできます。
あわせて,共有リポジトリを使って複数人で開発を行う際は,次の表も頭に入れておく必要があります。

概要 コマンド
共有リポジトリ上の更新を確認 git pull
共有リポジトリに更新を反映 git push

更新が競合した場合の処理などは,ややこしいので今回は書きません。
「最新の(他の人の)更新を確認して,競合がなければアップロードする」
という手順で共有リポジトリを使います。

github

ではgithubが何かというと,今言ったばかりの「共有リポジトリ」を作らせてくれるサービスです。
さらにおまけとして,wikiやissue,pullrequestなどのサービスも提供されています。

普通に使う

github上に何らかのリポジトリが作成されているとします。
一番はじめは,何も考えずにリポジトリをコピーします。
(以下の説明はすべてgitのコマンドで示します。TortoiseGitなどを使っている場合は頑張って脳内補完してください)

1
git clone https://(自分のユーザー名)@github.com/(クローンしたいリポジトリのユーザー名)/(リポジトリ名).git

gitにこの共有リポジトリを登録しておきます。

1
git remote add origin master

あとはgit pullなりgit pushなりをすることでローカル環境とgithubを同期させることができます。

wiki

Wikiを作ることができます。
ソフトウェアのマニュアルや仕様書なんかを共有するのに使うと便利かと思います。

issue

バグ報告ができます。
分類わけのためのラベルを付けたり,マイルストーンを設定することもできます。
解決担当者を決めることもできるので,複数人で開発する際は便利ですね。

pull request

重要な更新などをした際,全員にpullしてもらえるように通知することができます。

というわけで

頑張ってgitを使いこなせるようになりましょう。