git?gitHub?gist?

gitHub でのソース管理の備忘録…の前にまず git がなんであるかをはっきりさせておこう。
正直な所、ツイッターで git やら gitHub やら gist やらという単語が乱舞しててそれぞれが違うものなのか何なのか分かってなかったので。

git

まず git 。これは Wikipedia からの引用で問題ない。
Git - Wikipedia

Git(ぎっと)はプログラムなどのソースコード管理を行う分散型バージョン管理システム

Subversion のソーシャルクラウドサービスって感じの認識だったw
そもそも git はサービス名かと思ってたし。恥ずかしい。

Subversion と違ってリポジトリがローカルにもあって、コミット→ローカル→コミット→リモートという形になっている。
最初にコミットした時点ではマスターのソースは更新されないってことですな。
今回 git 導入時に参考にしたhttp://wota.jp/ac/?date=20080602の記事に

確かにsvnだと、公開はしたくないけど一時的にcommitしたい、って時が困ってたので、これは便利だ。

ってあって、確かにそうだなーと思った。これは仕事に使いたい。まだテストしたくないけどローカルでいろいろ試してる段階で、だけども動く状態だし、バックアップとして一度コミットしたいなー…って時がよくあるから。実際この三連休前にもコードがコミットされていない状態で帰宅しゴニョゴニョ…

git はつまり分散型バージョン管理システムの名称。サービス名じゃない。

gitHub

git がシステム名って事が分かれば必然的にこいつはサービス名ということになるね。今まで git と混同してたけど。
GitHubとは - はてなキーワード

git のプロジェクトホスティングサービス。

git 用のプロジェクトスペースを貸してくれるって認識で大丈夫かな?
公開されてるものならどれも見ることができて、そのソースコードをフォークして利用することもできる。

gist

これははてなキーワードにあるように gitHub が提供するもうひとつのサービスって言うことなんだけど…
gistとは - はてなキーワード

github で提供している、コードの断片共有サービス。
web 上からペーストして作成、編集が可能で、それらのコードは git レポジトリとして clone 可能。また web 上から fork して開発も行える。

これはつまり gitHub の一つの機能のことをいうのか?
gist のページにも説明が書いてあった。英語読めないけど

Gist is a simple way to share snippets and pastes with others. All gists are git repositories, so they are automatically versioned, forkable and usable as a git repository.

なるほど。わからん。
こういう時は使ってみるのが一番ということで使ってみた。


ファイル名とテキストを入力して作成してみると、



ファイルが出来上がると。


更にそのファイルはこれもまたリポジトリで管理されてて、編集、フォークが可能。
つまり「コードの断片共有サービス」か。

なるほど。gitHub の方はプロジェクトという大きな単位の管理で、gist はもっと小さなパーツを管理する機能か。
ようやく理解できたぞ。

使ってて気づいたけど js.doit は gist を真似てんですね。JavaScript, HTML5, CSS3 に特化という形で。

導入も済んで一度使ってみたけどまず gitHub とはなんぞやというところから確認でした。導入については参考にしたサイト参照した方が早いと思うのでここではそのサイトに書いてないことでハマったことを書くかもしれない。

github.comでphp-users.jpを管理するまでの作業ログ | IDEA*IDEA
http://blog.champierre.com/archives/670
http://wota.jp/ac/?date=20080602
github を Windows で使ってみる – Numb.


これからのソース管理は gitHub で。
会社で使ってるフレームワークgitHub においてオープンソース化すればいいのに。いいのに。