ire0014のブログ

IT、自己啓発、ゲーム関連の事を書きます。

githubアカウント作成

概要

Aさん「あ、じゃあ、githubアカウント教えてもらえますか!」
私「えっ?」
Aさん「えっ?」

っという状況になってとても困る夢を見たような気がしたのでgithubアカウントを作成しました。その様子を書きます。でも普通のIT技術者だったらgithubアカウントで色々とやっているのが普通なのかな?あと、あまり関係ありませんが、1回エントリ書いていたのですが保存していなくて消えてしまいました!いつもはなんか自動保存されてるのに。がんばってもう1回書きます。

githubについて

githubって?

GitをWeb上で使えるようにしたサービスです。ギットハブと読みます。

Gitって?

ソフトウェアのバージョン管理システムの種類のひとつです。バージョン管理システムとはプログラムや、いくつものプログラムの集合体(repository:リポジトリといいます)の更新履歴とか、最新バージョンとかを管理するシステムです。例えばAさんがfile1.htmlを修正して、Bさんがfile2.htmlを修正して、次にCさんがまたfile1.htmlを修正して…とやっていくとごちゃごちゃになってしまいますよね。そういうのを管理するものです。「共有のフォルダに入れる」という管理の仕方だと誰かが間違って消してしまったり、同じファイルを2人同時に修正していて上書きしあって壊れたりしますよね。バージョン管理システムなら、だれがどのファイルを修正中とかもわかるようになります。他にも先ほどの例でいうと、Cさんの修正がやっぱりいらなくなったら、Aさんが修正したバージョンに巻き戻す事も簡単です。Cさんがfile1.htmlを上書きしちゃったら戻せないですよね。なのでバージョン管理システムがあると便利です。

githubすごい

全世界の人に公開する事もできて、業界の有名な方々もリポジトリを公開しているので普通にソースを読む事もできますし、更新状況を通知してもらうこと(ウォッチといいます)もできます。もちろん自分も人のソースを修正したり(fork:フォークといいます)、その修正を最新バージョンに反映してもらったり(pull request:プルリクエストといいます)できます。業界の有名人と一緒に物を作り上げちゃうんですか!また、自分も自分のリポジトリを作って、プログラムをアップロード(push:プッシュといいます)したり、さっきとは逆に自分が公開しているリポジトリに他の人が「こうしたほうがいいよ」って言って、手を加えてくれる事もあるわけです。githubすごい!ソーシャルネットワークすごい!こわい!というかネット上で有名な人の書いたプログラムを見れるのだけでもすごいです。こういう風にコメント付けるのかーとか。あーif文の括弧こう書くのかーとか。

じゃあ早速

アカウントを作成する

だいたいなんとなくしかわかっていない状態からスタートだったので入門ページから見ようと思ってみたのがこちらです。
glasses factory「github 超入門」
アカウント作成から他の人のソース見たりといった閲覧側のことが丁寧に書いてあってわかりやすかったです。この通りやっていったら普通にできたのですが、問題がひとつこれって自分がいつからアカウント作成しているかが表示されているのです。で?っていう話なのですが、これをやっていたのは3月(だいぶ昔ですね!)で、どうせなら4月1日からアカウントスタートにしたいじゃないですか?そうでもないですか?ということでまずは登録日を変更できないか調べたのですが、なさそうでした。じゃあアカウントを4月1日に作り直しということになりますが、もしアカウント削除してすぐ同じ名前で再取得できなかったらだるいなーやだなーと思ったのでですが思い切って削除!からの再作成!したらできたので安心して4月1日に再取得したのですが、日本時間ベースじゃないのでまた失敗して3月31日スタートになってしまいました。結局実際には4月1日の夜に再度取得したら4月1日からスタートにできました。どうでも良いところに力入れてしまいました。アカウントの消し方はログイン後の右上の1.AccountSettingボタンから左メニューの2.AccountSettingを選択して3.Deleteyouraccountです。

リポジトリを公開する

有名人のソースをひとしきりみたらやはり自分のソースもアップしたりしてみたい!と思ってこちらのサイトを参考に進めました。
glasses factory「github もうちょい入門」馬鹿と天才は紙一重「ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで-」
どちらでも同じだと思います。上のほうが1ソースアップロードが例になっているのでわかりやすいかなぁ。公開鍵とか作らないといけないのですね。よくわかっていない上に少し手間がありますが手順をやっていけば特に問題ないと思います。私は一個手順を抜かしていて躓きました。よく読もう。

他参考にさせていただいたサイト
Numb.「GithubをWindowsで使ってみる2011年版」DQNEO起業日記「Git_Github超入門:猿でもできるPullRequest」

というわけで準備ができてじゃあどうするのどうするのと思ったのですが公開できるプロジェクトもないのでとりあえず日経ソフトウェア5月号の特別付録についていた「根本からわかる!Webプログラミング」のサンプルコードを動かしてみた奴をアップしてみるかと思いました。
PHPを動かす必要があったので、別途XAMPPをインストールして環境を準備しています。
APACHE FRIENDS「XAMPP for Windows」
HTMLやCSSJavaScriptがやりたければ何もインストールしなくて良いですね。

そういうわけですので、私のアカウントです。よければ見てみてください。
ire0014のgithub
やはり注目は「Member Since Apr 01, 2012」となっているところです!どうでも良いですね!いやむしろ2012年になってやっとはじめたのかよという感じですね!

よくやる作業

1つ目のリポジトリやローカルフォルダの設定、READMEの設置は上記の手順でできていると思います。そしたら色々プログラムを書いてフォルダに追加していきたいじゃないですか。というわけで、PHPのプログラムを色々作ってアップしていく作業はこんな感じです。(PHPが動作するフォルダとリポジトリと同期を取るフォルダを別にしてしまったので多少面倒)
1.PHPが動作するフォルダでプログラムを書く
2.動作確認してニヤニヤして納得する
3.完成したソースを、リポジトリと同期しているフォルダにコピーする
4.インストールの流れで動作するようになっているはずの「GIT BASH」というソフト起動
5.リポジトリと同期しているフォルダにCDコマンドで移動
6.pushするコマンドを打っていきます

git add xxx(アップしたいファイル)
git commit -m 'yyy(ファイルについてのコメント)'
git push -u origin master
(パスワードを入力)

変にソースをいじってしまって、pushがreject(拒否)されることがあります。リポジトリとローカルフォルダがなんか違うとかいわれました。そういう時は同期を取り直したらうまくいきました。ローカルのファイルがおかしくなっている判定を受けているので、ローカルフォルダは別フォルダに移動するとかバックアップをとっておきましょう。

git fetch && git merge origin/master

感想

有名人のソースがこんなに手軽に見られるなんてすごいな。と思いました。あと最初にアクセスしたときにサイトを日本語にできる選択肢がでるらしいのですが、出なかったのでそのまま進んでしまい、メニューとかが英語のままです。日本語にしたいです。英語の勉強ととらえれば良いかな。英語わからないと海外の人のソースのコメント読めないし、日本の人もREADMEファイルとか英語だし。英語ですね。あとは何か他の人と絡めるような何かしていきたいなあ。そもそも文頭の話でも、今の状態じゃ自分のアカウント教えられないし!
それと、準備手順や上に書いたコマンドも全然意味がわかってないでやっているのでGit入門をしたほうが良いのかなと思っています。今後はやはり何かやっていきたいわけなのですが、今はやっぱりJavaScriptですかね!普通にJavaScript使うし、AjaxJQueryもよく聞くし、スマホアプリも関係あるし、WebSocketとかCoffeeScriptとかnode.jsとかJavaScript盛り上がりすぎ!よしやろう!ゴールデンウィークはJavaScriptやろう!

Aさん「GWは今日で終わりですけど?」
私「えっ?」
Aさん「えっ?」