黒い画面とかよくわからない人のための、ゆるふわgit入門

by SHOKO OYAMADA (chocolatina) @ paperboy&co.{

この資料の対象

gitとは?

SVNのようなバージョン管理システムのいまどきのやつ
使えるとモテるらしい。けどモテた覚えがない。
SVNとはリポジトリの持ち方などがちょっと違う
別にプログラムじゃなくてもいろんな更新履歴を管理してよい。

バージョン管理とは?

更新履歴や差分が混乱しないように、
みんなが仲良く開発できるように使っている機能。
※でも実際は混乱したりもしますね。

リポジトリとは?

更新履歴をためておく場所です。
gitでは、リポジトリには2種類あります。
「自分の作業用リポジトリ」と
「公開用リポジトリ」です。

今日は、
hetemlサーバ=自分の作業用リポジトリ
github=公開用リポジトリ
として話をします。

githubとは?

gitで管理した更新履歴を置いておく場所。
完成したものを見せるんじゃなく、
開発途中の履歴を見せる。
普段見えない裏側のソースコードも見える。
履歴をちょこちょこ送れるので、開発してる!感が出せるのでエンジニアに人気。
人のソースコードに手を入れて送ったりもできるらしい。
別にプログラムじゃなくてもいろんな更新履歴を管理してよい。
でも交換日記とかを管理するのはやめましょう。

今日の目標

hetemlに置いたサイトを
gitでバージョン管理して
githubにpushして
モテよう
※モテるかどうかは分からない

流れ

  1. 必要なものを用意
  2. hetemlでSSHを設定し、Poderosaでhetemlに接続し、鍵をつくる
  3. 鍵をgithubに登録しよう
  4. 登録できたかテストしてみよう
  5. さぁ、githubにpushしよう
  6. 何か更新したら、またaddしてコミットしてpushしてみよう
  1. 必要なものを用意

  2. hetemlでSSHを設定し、Poderosaでhetemlに接続し、鍵をつくる

    1. hetemlでSSH設定をする

    2. Poderosaを開いて、ファイル>新規Telnet/SSH接続>でhetemlのSSH情報を入力し、hetemlにつなぐ。

    3. はい

    4. SSHでhetemlに入ったら、ためしにpwdと打つ。自分がいまいる場所がわかる。

    5. ためしにcd webとかしてみる。webフォルダに移動できる。
      移動したらまたpwdと打つ。自分がいまいる場所がわかる。

    6. cd ../ ってすると上のディレクトリに移れる。コマンドの練習おわり。

    7. cd ~/.ssh って打つ。
      No such file or directory(そんなファイルもフォルダもないよ)って言われたらOK。

    8. 鍵をつくります。ssh-keygen -t rsa -C "自分のメールアドレス"

    9. 鍵を保存する場所を選べって言われますが、そのままでいいので、
      何も入力せずにEnter

    10. passphrasesは何も打たずにEnter押してよい
      (本当は何か入れてほうがセキュリティ上はいいけど、後でめんどくさくなる)

    11. passphrasesは二回入力しろ、と言われるのでもう一度Enterを押す

    12. 鍵ができました。

  3. 鍵をgithubに登録しよう

    1. 出来た鍵を見る。hetemlFTPを開いて、/.sshフォルダ内の id_rsa.pub ってついてるほうを見る。

    2. hetemlFTP上では見られないので、「ダウンロード」を押して自分のデスクトップに保存する。

    3. 保存された鍵。

    4. メモ帳or秀丸で開いて確認。

    5. この鍵を登録したいので、githubに行く。

    6. 右上のセッティングボタンから、SSH Keysのページに行く。

    7. コピペ。保存。

    8. 保存したあとパスワードを聞かれるので、hetemlのパスワードを入力

    9. 登録できました。これでgithubとhetemlが通信できます。

  4. 登録できたかテストしてみよう

    1. $ ssh -T git@github.com と打つ。

    2. ためらうことなくyes

    3. Hi ユーザー名!と言われたら成功!

    4. https://github.com/ユーザー名 で、「New repository」をクリック

    5. リポジトリ名は何でもいい。ここでは「chcltntest.github.com」とする。
      Create repositoryをクリック。

    6. なんかよくわかんない画面になる。これでOK。

  5. gitの設定

    1. 名前とメールアドレスをgitに設定します。
      Poderosaで、git config --global user.name "あなたの名前" と打ちます。

    2. 次に、
      git config --global user.email "あなたのメールアドレス"
      と打ちます。

  6. さぁ、githubにpushしよう

    1. Poderosaに戻って、webフォルダに移る。cd webと打ちます。

    2. webフォルダの中に、「chcltntest.github.com」フォルダを作ります。
      フォルダを作るにはmkdirを使います。
      mkdir chcltntest.github.com と打ちます。

    3. ディレクトリが出来たか確認してみましょう。

    4. 出来たディレクトリに移動します。
      cd chcltntest.github.com と打ちます。

    5. ここをgit管理するよ―、と宣言します。
      宣言するには git init と打ちます。

    6. git管理するためのフォルダが出来ました。
      これは今後、触らないようにしましょう。

    7. ためしにgit statusと打ってみます。
      これは、「いまgit的にはどういう状態ですか」と聞くものです。

    8. 変更されたファイルや追加されたファイルがまだない場合は、
      「コミットするものは何もないですよ」と言われます(nothing to commit

    9. さて、ここで何かを公開してみましょう。
      index.htmlをアップしてみます。

    10. もういちど、git statusと打ってみます。
      いまアップしたindex.htmlが表示されます。

    11. アップできたら、さぁ、addしてコミットしてpushしよう。
      まず、addします。addとは、「いまからコミットしますよー」と宣言することです。
      git add . と打ちます。「.(ドット)」は「変更されたものすべて」という意味です。

    12. addに成功しても何もでません。
      基本的に黒い画面は、成功しても何も言ってくれません。
      冷たいですね。
      恋人にはしたくないタイプです。
      とにかく成功しました。

    13. addしたらすぐさまコミットしましょう。
      git commit -m "最初のコミットです。"
      と打ちます。
      メッセージは後からわかりやすいものを書きましょう。

    14. 準備オッケー!pushします。
      はじめてのpushのときには以下を打ちます。
      git remote add origin git@github.com:あなたのgithubアカウント名/リポジトリ名.git
      2回目以降は打たなくてよいです。

    15. 準備完了。pushします。
      git push -u origin master と打ちます。
      gitさん、pushしてね、origin(github)の master(branch)に。という意味です。

    16. yesと打ちます。

    17. こうなったらpush完了!
      「error」や「refused」という単語が見えたら失敗。

    18. hetemlFTP側ではこうなってるはず

    19. github側ではこうなってるはず

  7. 何か更新したら、またaddしてコミットしてpushしてみよう

    1. hetemlFTPでちょこっとファイルをいじってみる。

      いじったら保存しましょう。

    2. Poderosaで「いまgit的にはどうですか」と聞く。git status
      index.htmlが修正されたよ」と言われる。

    3. じゃあそれをaddしてコミットします。
      addとコミットを一度にやるには&&でつなげればOK。
      git add . && git commit -m "修正した理由" と打つ。

    4. 変更したものをpushします。
      git push -u origin master

    5. githubにpushされました。

    6. pushした履歴は「history」から見られます。

今日のまとめ

最初に一度だけ、鍵を登録してgitの設定をする。
それが終わったらaddしてコミットしてpushを繰り返す、が主な流れ。
複数人で開発するときは、他にpullやbranchなどを使って作業します。

おまけ

by SHOKO OYAMADA (chocolatina) @ paperboy&co.{