https://github.co.jp/
を見ると、「開発者のためのプラットフォーム」とあって、なんだかエンジニアとかプログラマーとかの巣のような感じで、文系人間としては敷居が高いですね。それに、入口は日本語ですけど、中はどうも英語のようだし。
でも、虎穴に入らずんば(そんな恐ろしいところなのか?)虎児を得ず(虎児はもらっても……)とも言いますし、あまりに難しそうならすぐに撤退すればよいのです。
無料でホームページを次々に作成するには避けて通れない道(?)です。
GitHubとは何か
僕の簡単な理解では、GitHubはクラウドのようです。プログラマーたちはそこにプログラムのソースを置いて、チームで開発していくということです。みんなでそのソースコードにアクセスしているうちに、コードがごちゃごちゃにならないように、Gitがうまくやってくれるんでしょう、たぶん。
ハブって、あの恐ろしい蛇のことではなく、ハブ空港のように、ネットワークの中心になるところということでしょう。Gitを使ってやりとりするHubということで、GitHubということか。なるほど。
でも、一人でGitをする個人にとってはどんな意味があるんでしょうか。一つは、クラウドだからバックアップになるということでしょうか。あと、自分のソースコードを他の人に見てもらって助言を受けたりすることができるってことでしょうか。
僕自身は、ここにソースファイルを置いておくと、無料でいくつでもサイトを公開できるってどこかで読んだので、利用しようと思っているのです。レンタルサーバー代110円をなんとか節約できないものかと頑張っているのです。
リモートリポジトリ
Gitについて勉強したとき(下にある「ラベル」でGitを選んで見てください)、リポジトリというのがフォルダにできることを知りました。ここにさまざまなバージョンが保存されていく、というのがGitによるバージョン管理でした。
このリポジトリは自分のパソコン内にあるので、ローカルリポジトリと言います。それに対して、GitHubのクラウドにもリポジトリを作ることができて、それをリモートリポジトリと言います。リモートというのは「遠い」ということです。
Gitでバージョン管理をしているフォルダのファイルを変更したときは、「git add」や「git commit」というコマンドによってローカルリポジトリに変更を知らせました。
自分のパソコン内のローカルリポジトリからさらにGitHubのリモートリポジトリに変更を伝えるには、「git push」というコマンドを使います。
ローカルリポジトリ → リモートリポジトリ
こんなふうにして保存するわけです。
実際に試してみるには、まず、GitHubでアカウントを作成する必要があります。
GitHubのアカウント作成
上記のGitHubのホームページを開きます。
緑色の「GitHubに登録する」をクリックします。すると、
となりますので、ユーザー名、メールアドレス、パスワードを記入します。パスワードは8文字以上です。それが終わると、
と、パズルを解かされます。(解けないと、あなたが実在の人物ではないのではないかと疑われますので、頑張りましょう。)
それから、下の青い「Next: Select a plan」をクリックしてください。
プランを選択します。左が無料プランです。
選択すると、
と、歓迎してくれます。「あなたも何百万もの開発者の仲間入りです」と言われ、すごいことになったな、と一瞬思いますが、気にしないようにしましょう。
アンケートは、ページの下にある、
をクリックしてスキップすることもできますが、あまりたいしたことなさそうなので、今回は試しにやってみました。(もちろん、スキップしても後で怒られるようなことはありません。たぶん。)
最初のアンケートは、「プログラミング経験どれほどある?」というもので、「A little」を選びました。
二つ目は、「GitHubを何のために使うつもり?」と尋ねていて、僕は上の三つ、「コードを学ぶため」、「GitとGitHubを学ぶため」、「プロジェクトのホスト(リポジトリ)」を選びました。三つ目のは、リモートリポジトリとして使うということだろうと理解しました。
最後のこれは、関心のあるプログラミング言語を書き出します。「javascript, php」と記入しました。
最後に、下にある、
プランを選択します。左が無料プランです。
選択すると、
と、歓迎してくれます。「あなたも何百万もの開発者の仲間入りです」と言われ、すごいことになったな、と一瞬思いますが、気にしないようにしましょう。
アンケートに答える
Welcomeに続くのは、アンケートです。アンケートは、ページの下にある、
をクリックしてスキップすることもできますが、あまりたいしたことなさそうなので、今回は試しにやってみました。(もちろん、スキップしても後で怒られるようなことはありません。たぶん。)
最初のアンケートは、「プログラミング経験どれほどある?」というもので、「A little」を選びました。
二つ目は、「GitHubを何のために使うつもり?」と尋ねていて、僕は上の三つ、「コードを学ぶため」、「GitとGitHubを学ぶため」、「プロジェクトのホスト(リポジトリ)」を選びました。三つ目のは、リモートリポジトリとして使うということだろうと理解しました。
最後のこれは、関心のあるプログラミング言語を書き出します。「javascript, php」と記入しました。
最後に、下にある、
をクリックしてセットアップを終えます。
すると、次にように、「メールで認証してよ」と言ってきます。メール認証
メールソフトでメールを見ると、
というのが届いてますので、「Verify email address(認証するよ)」をクリックします。
リモートリポジトリ
開いた画像の上の方に、
Your email was verified. Would you like to create your first repository?
が表示されています。「メール認証は終わった。最初のリポジトリ作る?」って聞いています。とりあえず、右上の「×」ボタンを押して閉じておきましょう。
さて、こんなページとなっています。
さて、こんなページとなっています。
1行目で「新しいリポジトリを作れ」と言っています。ここでのリポジトリとはGitHubというクラウド上にあるリモートリポジトリのことです。作ってみましょう。
1番に記入するのは「リポジトリ名」です。git-testとしました。
2番目は、公開するか秘密にするかです。恥ずかしいので「Private」にしました。以前は「Private(非公開)」は有料だったのですが、今は無料になりました。
3番目をクリックするとリポジトリができます。
上の方に、
続いて、
1番に記入するのは「リポジトリ名」です。git-testとしました。
2番目は、公開するか秘密にするかです。恥ずかしいので「Private」にしました。以前は「Private(非公開)」は有料だったのですが、今は無料になりました。
3番目をクリックするとリポジトリができます。
ローカルリポジトリからリモートリポジトリにプッシュ
すると、こんなややこしいページとなります。上の方に、
と、「ガイドを読みましょう」と出ていますが、どうせ英語なので、右上の「×」ボタンで消してしまいましょう。
さて、上のややこしいページは何なのでしょうか。
1つ目は、「前にこんなことやったことあるなら、これでやると早いよ」ということですが、「こんなこと」ってどんなことなのか。わからないのでスルーします。
2つ目は、「コマンドラインで新しいリポジトリを作成」です。う~む、新しいリポジトリを作成したばかりなのになあ。いずれわかる日がくるかもしれないと自分を慰めて次に行きましょう。
3つ目は、「コマンドラインで、存在するリポジトリをプッシュ」です。おお、これこそ求めているものに違いない。「存在するリポジトリ」って、ローカルリポジトリのことなのでしょう。
4つ目も見てみましょう。「他のリポジトリからコードをインポート」です。他の人のリモートリポジトリからソースコードをもらってくるということでしょうか。
ということで、3番目が正しいようです。
1番目のURLと3番目のコマンドをそれぞれコピーして、エディタにでもメモしておきましょう。上の画像の赤丸のところをクリックすれば、コピーできます。
Git Bashでpush
Git Bashを起動して、
Yojiroo Hirosaki@pc-name MINGW64 ~
$ cd git-test
と打ち込んで、git-testディレクトリに移動します。
(git-testというのは、Gitでローカルでバージョン管理を行っているフォルダです。中には、file1.txtと「.git」フォルダが入っています。Git Bashをちょっと使ってみる(3)やGitをちょこっとやってみる(4)やGitによるバージョン管理を始める(5)をご覧ください。)
(git-testというのは、Gitでローカルでバージョン管理を行っているフォルダです。中には、file1.txtと「.git」フォルダが入っています。Git Bashをちょっと使ってみる(3)やGitをちょこっとやってみる(4)やGitによるバージョン管理を始める(5)をご覧ください。)
Yojiroo Hirosaki@pc-name MINGW64 ~/git-test (master)
$
となります。
そしてここで、上の3番目でコピーしたコマンドを打ち込みます。いや、いちいち打ち込んでいたら大変です。エディタにメモしておいたものをコピーして、Git Bashにペーストします。右クリックでpasteできます。
$ git remote add origin https://github.com/yojiroo-hirosaki/git-test.git
この意味は、「リモートリポジトリにアクセスするとき、いちいちURLを使うの面倒だからさ、これからはoriginという名前にするよ」ということのようです。まあ、あだ名をつけたようなものです。
$ git push -u origin master
と打ち込みます。
これは、「originっていうリモートリポジトリに、ローカルリポジトリのmasterを送るよ」という意味のようです。これをpushすると言います。「-u」というオプションをつけると、「originとかmasterとかいちいち打つの面倒だからさ、この次からは省略して、git pushだけにするけど、いいね」という意味になります。
さて、上のように打ち込むと、
ログインが求められます。書き込んで、下の「Login」をクリックすると、
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 725 bytes | 145.00 KiB/s, done.
Total 6 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/yojiroo-hirosaki/git-test.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
と、ずらずらっと出ます。出れば、大丈夫のようです。
でも、最後の文はどういう意味だか。まあ、無視して先に進みましょう。
リモートリポジトリを見てみる
ブラウザで、先ほどコピーしたURL、
https://github.com/yojiroo-hirosaki/git-test.git
を表示してみましょう。(非公開なので見られるのは僕だけです。)
真ん中に、窓が出ていますね。う~む、意味がわからん。山あり谷ありです。でも、初心者にはとりあえず関係なさそうな。直感的に。ということで「Dismiss(却下)」を押して閉じてもらいます。
ということで、次のようになりました。
ここがGitHubのクラウドで、URLで開くんですね。
ちゃんと、file1.txtがこちらに来ています。
二つ目の文を入寮したよ
ってあるのは、コミットメッセージですね。
二つ目の文を入力したよ
って、打ったつもりだったのが、間違っていたようです。ううっ、恥ずかしい。非公開にしといてよかった。
上の方にある「2commits」を押すと、これまでのコミットが見られます。また、file1.txtをクリックすると、ファイルの内容が見られ、「二つ目の文を入寮したよ」をクリックすると、Version1とVersion2が色分けされて表示されているようです。たぶん。
まとめ
ということで、今回はGitHubでアカウントを作成し、空のリモートリポジトリを作成し、パソコン上のローカルリポジトリをリモートリポジトリにプッシュしました。ただ、これだけのことなのに、何かとても大変なことをした気がします。僕にとっては小さなプログラムを一本書くような気がしましたが、プログラマーはこんなことを毎日やってるんですね。う~む……。