GitHubにRalisアプリをpush〜branch切り替えとともに〜
なんかフランス料理みたいなタイトルになった
参考サイト:remote に branch を push し、remote から clone したリポジトリの branch を変更して push する - basyura's blog
branch切り替え
現在あるbranchを調べるには
git branch
を使用する(引数に-aを指定するとRemoteも見える)
branch1作って移動
git checkout -b subbranch
今居るbranch(表現あってるかな?)が既にsubbranchになってるのでaddとかcommitすればそのbranchに反映される
git push origin subbranch
でGithubにも反映される。
(originってのが何か分かってないな・・・後で調べよう)
Webを支える技術 第一部(1〜3章)
Webを支える技術isbn:4774142042
読んだ感想、大事だと思ったところ、疑問点を忘れないように書いていく
コンピュータにとって最も重要なソフトウェアはブラウザである。
第3章 REST
RESTとはアーキテクチャスタイル(作法)であり、実際のアーキテクチャより抽象度の高い概念
RESTは以下の組み合わせ
+1.クラサバ
クライアントはサーバにリクエストを送り、サーバはクライアントにレスポンスを返す
2.ステートレス
アプリケーションの状態をサーバで管理しない(アプリケーションは毎回自分の状態ごとサーバに伝える)
3.キャッシュ
一度利用したリソースを再利用する
4.統一インターフェース
HTTPによる通信のみ行う
5.階層化
システムをいくつかの階層に分類出来る(例えばLB、proxy)
6.コードオンデマンド
コードをサーバーからダウンロードしてクライアントで実行する(jsとかFlashとか)
RailsアプリをGithubにPush
GithubにコマンドラインからPushする方法、個人的にはEgitより簡単な気がする(盛大にハマったからなぁ・・・)
鍵の話はめんどいからしないよ。
環境
Windows Vista(笑)
Ruby 1.9.3 p125
Rails 3.2.2
Git 1.7.8
RailsアプリをGitで管理
まずはPushしたいアプリをGitで管理出来るようにする
リポジトリ.git作成 C:\rails\hogehoge>git init 変更ファイル追加(変更があったファイル全て) C:\rails\hogehoge>git add . コミット C:\rails\hogehoge>git commit -m "first commit"
GithubにPush
GitHub情報を入力(リポジトリ作成したばかりのページの最初の2行)
/情報はconfigファイルに入る
>git config --global user.name "USERNAME" >git config --global user.email "ADDRESS"
Githubのリポジトリからファイル追加(でいいのかな?) >git remote add origin git@github.com:USER/hoge.git masterをoriginにpushしてるはずなのだがどうも逆の気がするな >git push origin master
取りあえずこれでPush出来るはず!
Rubyの記法
条件分岐
リアルなif-then(リアルとは何なのか)
if num % 2 == 0 then puts "even num"
後置のif(Rubyistたちはこっちを使うらしい)
puts "even num" if num % 2
繰り返し
結構慣れないが、記法が違うだけで使い方はPythonに近いかも
10.times do |i| print i, ", " end
と
10.times { |i| print i, ", " }
は同じ結果を与える
[結果]
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
可変長引数
Pythonと大体一緒っぽい
def put_messages(*messages) messages.each{|m| puts m} end put_messages [1,2] , (put_messages "こんにちは", "さようなら")
ちなみに上の結果は
1.引数内のput_messagesが評価されて"こんにちは"、”さようなら”が出力される
2.put_messages [1,2] , "こんにちは", "さようなら"が実行される
ので
[結果]
こんにちは
さようなら
1
2
こんにちは
さようなら
説明が抽象的なのは分かってないからですね。
Gitコマンド
明らかにGitの理解が足りない、Egitばかり使っていた代償です。
取りあえずGitについて理解したいという事でまとめ
分散リポジトリ
git コマンド
C:\hoge>git init
hogeにリポジトリを作成する(指定しなければ".git"フォルダが作成される)
C:\hoge>git clone <複製したいリポジトリのURL>
C:\hoge>git clone <複製したいリポジトリのURL>
git add . git commit
変更ファイル見つけてくる(git commitのみだと作成されたファイルは無視される)
git commit -a -m "<コミットメッセージ>"
- aで変更があったファイルを自動検出してコミットしてくれる
git push <送信先リポジトリ> <送信するブランチ>:<送信先ブランチ>
コマンドプロンプトのTips
範囲選択で実行or右クリックでコピーされる
ドライブを切り替えて移りたいときには
cd /d D:\hoge
とかで移れる