GitHubのつなげ方を Sagasoon.
プログラムを、色々作るようになると、管理に悩むわけですよ。
折角つくったのに、「どこに保存したっけ?」。
毎回手を入れるんだけど、変更履歴もなければ、どこを直したのかも分からない。
ましてや複数人で作ってるプログラムなんてのは、みんなバラバラに管理してたら、そりゃもう大騒ぎですよ。
ということで、subversionやらgitやらがあるわけですよね。
折角なので、プログラムを始める時期に一緒にやっつけておきましょ。
今日は、github にソースを管理させるところまでご紹介します。
必要なもの
- ソースを動かす場所(サーバでも、PCでも)
- メールアドレス
サーバでもPCでも構いませんが、ソースを動かす場所が必要です。
また、git コマンド関連のものが動く環境を用意してください。
いわゆるレンタルサーバ的なところであれば、たいていはある気がします。
xserver とかでもOKです。
「自分のWindowsPCでやる」方は、
からプロダクトをダウンロードしてインストールすればOKです。
手順概要
だいたい細かくいうと、6段階ですかね。
やることは単純なので、さくっといきましょ。
- githubにアカウント作成
- 秘密/公開キー作成
- github 接続確認
- 環境作成
- プログラム作成
- githubへソースを登録
githubにアカウント作成
Githubへ行って、アカウントを作成しましょう。
メールアドレスがあれば、Freeのアカウントが作成できます。
アカウントが作成できたら、画面右上の「+」マークから「New repository」をクリックしてください。
Owner / Repository name
と出てくるので、Repository name にお好きな「リポジトリ名」を指定してください。
リポジトリ名というのは、今から管理してもらうソースたちの名前です。
ほんとに好きな名前でOK。
後で分からないのはダメです。
その下に、
- public
- private
とありますが、これは、privateにしてあげてください。
publicは、ソースが誰にでもみえる状態。恥ずかしいので、privateにしました。
指定が終わったら、「Create repository」を押せばOKです。
秘密/公開キー作成
今度は、ソースを動かすサーバから、githubへ接続する際の認証情報を作成していきます。
ソースを動かすサーバに入ってください。
公開キー/秘密キーのペアを作成します。
mkdir から cd、そして、ssh-keygen コマンドでキーのペアを作成します。
途中、パスフレーズを聞かれます。入力する際、しっかり覚えておいてください(パスワードです)。
[username@user ~]$ mkdir ~/.ssh [username@user ~]$ cd ~/.ssh [username@user .ssh]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/site/home/username/.ssh/id_rsa): /site/home/username/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /site/home/username/.ssh/id_rsa. Your public key has been saved in /site/home/username/.ssh/id_rsa.pub. The key fingerprint is: c2:3f:38:06:87:9a:08:25:07:28:5c:2a:ed:f8:a0:49 <> The key's randomart image is: +--[ RSA 2048]----+ |なんちゃら | |かんちゃら | |なんちゃら | |かんちゃら | |なんちゃら | |かんちゃら | |なんちゃら | |かんちゃら | | | +-----------------+
この後で、
[username@user .ssh]$ cat id_rsa.pub
として、id_rsa.pubの中身を画面に表示させます。
アルファベットの長い文字列が出てきたと思います。その情報をコピーしてください。
そしたら、githubにいって、右上のメニューから 下記の手順で公開キーをgithubに設定します。
- Settings を選択
- SSH and GPG keys を選択
- Titleに「git」とかにして、keyを、先ほどコピーした情報をペースト
- Add SSH key を押す
これで、サーバ側から github に接続が可能な状態に「なったはず」です。
github 接続確認
それでは、サーバ側からgithubへ接続できるか確認です。
githubで作成した ユーザー名 と、メールアドレスを使って、このコマンドを打ちます。
[username@users .ssh]$ git config --global user.name "ユーザ名" [username@users .ssh]$ git config --global user.email "メールアドレス"
そしたら、このコマンドで、接続確認です。
パスフレーズを聞かれますが、秘密キー/公開キーをペアを作成した時に指定したものを入力すればOKです。
[username@users .ssh]$ ssh -T git@github.com The authenticity of host 'github.com (52.69.186.44)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,52.69.186.44' (RSA) to the list of known hosts. Enter passphrase for key '/site/home/username/.ssh/id_rsa': Hi github_username! You've successfully authenticated, but GitHub does not provide shell access.
最後の文、
Hi github_username! You’ve successfully authenticated, but GitHub does not provide shell access.
ってのが出てきてればOKです。接続成功!
環境作成
それでは、github にソースを管理させるべく、ちょっとサンプルを作っていきます。
まずは、ソースを作る環境を作っていきます。
[username@users .ssh]$ mkdir /site/home/username/src/sample [username@users .ssh]$ cd /site/home/username/src/sample [username@users sample]$ git init [username@users sample]$ git remote add origin git@github.com:ユーザー名/https://github.com/ユーザー名/リポジトリ名.git [username@users sample]$ git clone https://ユーザー名@github.com/ユーザー名/リポジトリ名.git
プログラム作成
そしたら、ソースを適当に作ります。
[username@users sample]$ echo "echo test" > sample.sh
これで、sample.sh っていうプログラムが出来ました。
中身をみてみてください。
[username@users sample]$ cat sample.sh
ってすると
echo test
と1行でてきましたか?
なんてことはない1行プログラムです。
githubへソースを登録
下記の3つのコマンドを実行すれば、サーバ側からgithubへソースが登録されます。
git add sample.sh git commit -m 'sample src' git push
これだけです。
尚、sample.sh の中身を編集したら、また、この3コマンド実行すればOKです。
また、sample.shも編集したとして、test.php というソースを追加で保存したいと思ったら、
git add sample.sh git add test.php git commit -m 'test.php add,sample src update' git push
みたいにすればOK。
雰囲気分かってきましたかね?
add で指定したのは、更新や追加するソースを教えてます。
commitでサーバ側にソース登録してます。
複数人でソースを管理するとかでしたら、ちゃんと理解しないといけない話題です。
commitの後ろにあるのは、ソースを登録する時の「コメント」です。
そして、最後のpushで、githubへソースを登録してる感じです。
最後、github のサイトへ行ってみてください。
https://ユーザー名@github.com/ユーザー名/リポジトリ名
です。
先ほどpushした sample.sh が一覧にでてきませんか?
出てきたらOK! おめでとうございます。
まとめ
いかがですか?
掻い摘んで話ましたが、それなりに一通り登録まで説明してみました。
この後、cloneってなんだ? pull ってなんだ?とかいろいろ出てきますが、そこはまた次回のお話。
コメント