Git/Github の概説

Git について

本講義では,プログラミングを前提としています. プログラミング自体は,既に仮想環境として実現可能ですが, プログラムファイルの管理方法はユーザに依存しています.

ここでは,作成したファイルのバックアップの方法として Git/Github の説明を行います. Git/Github 自体は,複数人でコード開発管理を行うためのツールとして 広く使われています.そのため,ややただのファイルバックアップを 記録するにだけだとすると,やや高度なツールになりますが, 使い方を覚えておいて損はありません. また, 記録さえしておけば 好きなタイミングで任意の状態にファイルを戻すことが出来ます。

Git の基本スタンスは, 「 ファイルの変更を自前で管理するのはしんどい 」という前提に立っています. (特に複数人で同じファイルを編集している時)

  • 誰が変更したのか?
  • いつ変更したのか?
  • どこを変更したのか?
  • 何のために変更したのか?

は,変更した本人しかわからないですし,数日〜数ヶ月後に覚えている人はまれです. このような要求に答えるソフトウェアは バージョン管理システム と呼ばれます. バージョン管理システムは,

  • 安心してファイルの変更ができる.

    どこを変更したのかの差分をとってくれます.この差分情報をたどることで 以前のバージョンに戻ることが可能です.

  • 自前で変更に関する情報を管理しなくて良い.

    いつ,誰が変更したのかも記録を取ってくれます.

ことを目的として作られrており,Git は, さらに複数人で作業する時の作業もリーズナブルにマージできることを 目標にしています.

Git はイマドキのシステムとしてソフトウェア開発には必須な存在に なりつつあります.

Github について

Github (https://github.com/) は, Git を利用した,ホスティングサービスで, 簡単に言ってしまえば,インターネットの向こう側のクラウドに ソースコードを保存するための存在です. Git 自体は,全世界をカバーした開発環境を支えるために, 通信機能を持っており,リモート (remote) アクセスを行い, 他の人の開発環境と同期させることができます. Github は,このリモート機能を駆使して, 世界中のソフトウェアの開発プロジェクトをまとめ上げるサイトです. 何か必要なコードがあれば,ここらへんのソフトウェアを使うことはよくある話です.

Github 上にソースコードをおいておけば,インターネットさえ繋がっていれば, どこでも閲覧可能ですし,ソースコードの複製を行い,出先などで修正し, 戻すと言ったことも可能になります.イメージ的に言えば,Github に ファイルのマスター版を置いておき,それを各自のPCに複製して変更・修正を行い, 一定の作業後,マスター版に変更を反映させるという感じでしょうか.