GitHubに送る
前回のギトギット! (♫)
- リポジトリという言葉を覚えた!
- スクリプトを使って、変更と git commit を7回繰り返した!
- git log で過去のバージョンが一覧できた!
- git show で過去のバージョンが詳細に見れた!
- N個前のバージョンは
HEAD~N
と表せた!
序文 で、私は Git はバックアップツールのすごいやつ だといいました。 実際、ファイルを削除しても git checkout で取り出したりできるので、バックアップできるのですが……
さて、問題です。\デデン!/
過去のバージョンのファイルは、どこに保存されていたのでしょうか?
40秒で考えな!
……
正解は、 git init のときに作られる .git ディレクトリ のなかです。(git init については 第3回 で軽く触れた。) と、いうことは、この .git ディレクトリを消すと「過去のバージョンが全部消えてしまう」わけです。
バックアップになってないじゃん!
というわけで、今回は git をバックアップツールとして使うために、リポジトリホスティングサービス(?)にリポジトリのバックアップを取ってみます。
リポジトリホスティングサービス とは、まあこの言葉は別に覚えなくていいですが、リポジトリを保存しておいてくれるウェブサイトのことです。 (git リポジトリ専用のアップローダーとか、git リポジトリ専用のクラウドストレージとか、そんな認識でだいたい大丈夫。)
世の中にリポジトリホスティングサービスはいろいろありますが、一番有名なのは GitHub でしょう。長いものにはまかれろといいますが、初心者なら、とりあえずここを使えば安心です。
以下のリンク先に行き、 緑色の Sign Up
ボタンを押し、無料アカウントの登録を始めましょう。
※以下の記述は2016年3月18日現在のものです。日本語版サイトが作成されそうな雰囲気はありますが、どうなんでしょう。
まず、User Name (ユーザ名)、Email Address (メールアドレス) を入力します。 これらは git に設定したユーザ名・メアドと同じものにしておくのがよいでしょう。 それと Password (パスワード) は好きにしてください。
Create An Account
(アカウント作成) を押して次のページに進みます。
ドル記号がいっぱい出てきて不安になりますが、安心してください、無料ですよ。
Free $0/month (無料、毎月0ドル) のところの Chosen (選択) ボタンを押しましょう。
Help me set up an organization next
というチェックボックスがありますが、無視しても大丈夫です。
そして、 Finish sign up
(アカウント作成の完了) をします。
すると、指定したメールアドレスにメールが来ます。そこにあるリンクをクリックして、GitHub にログインすれば、「このメールアドレスが有効である」と GitHub 側が認めてくれます。(これをメールアドレスの 認証(verification) という。)
以上で GitHub のアカウント登録は完了です。
メールアドレスの認証ができたら、GitHub 側にリポジトリを作ります。 右上の「+」メニューから、「New repository」を選びます。
Repository name (リポジトリの名前) を入力しますが、今回は適当な名前にすればいいでしょう。
他にも、Description (optional) (リポジトリの説明 (任意)) や、Public (公開) / Private (非公開)、Initialize this repository with a README
(README1つを持つリポジトリとして初期化する) といった項目がありますが、いずれも変更する必要はありません。
※GitHub側のリポジトリを非公開(Private)にするのは有料です。
Create repository
ボタンを押すと、空のリポジトリができあがります。GitHub 側に新しいディレクトリが作成され、そこで git init が実行される、というイメージです。
"Quick setup――" などなど英語がいっぱいのページになりますね。これらは GitHub の親切で、git の使いかたの説明なので、無視して大丈夫です。
さて、私たちの git リポジトリに戻りましょう。 いつものように、ディレクトリを右クリックして「Git Bash Here」、bash の画面を開きます。 GitHub のリポジトリとリンクするため、以下のコマンドを実行します。ここで、USER_NAME は GitHub のユーザ名で、REPO_NAME は先ほど GitHub 側に作ったリポジトリの名前です。
$ git remote add origin https://github.com/USER_NAME/REPO_NAME.git
実行しても特に何も起きません。 というのも、このコマンドは単に GitHub 側のリポジトリ "https://github.com/USER_NAME/REPO_NAME.git" のことを以後 origin と呼ぶよ、と git に教えるだけだからです (※やや不正確)。
まあとにかく、いちいち https://...
と書く代わりに、単に origin
と書けばよくなったわけです。
さて、やっと今回の本番です。私たちのリポジトリを、GitHub 側に 送信 しましょう。それには、 git push コマンドを使います。
$ git push -u origin master
少し待つと、リポジトリ (.git ディレクトリの内容) が GitHub に送信されます。 git push コマンドが完了してから GitHub 側のリポジトリのページを更新すると、リポジトリにあるファイルが見られるようになっていますよ!
※要編集: パスワードの入力を求められるのでは?
ちなみにこの -u
というのは、リポジトリの master
(?) が Github 側の master
(?) に対応するという設定を行うという意味で……って今説明しても意味分からないですよね。
後々説明します。
なんにせよ、最初の git push では -u
を使いましょう。すると、2回目以降の git push では、単に
$ git push
とだけ書けばいいようになるのです。
さて、これで git を バックアップツールのすごいやつ だということが実証できました。 git push と書くだけなので、「3秒でバックアップが取れる」という触れ込みは事実だったことが分かります。
一区切りついたので、次回は解説の流れのために端折った、細かいことについて、補足していきます。