javascript で実装した適当なスタックマシンを公開と git で分かったこと

f:id:quwahara:20120722154002p:plain


夏休みバイナリ集中講座・準備会
http://wiki.livedoor.jp/n7shi/d/binsummer2012

でなんとなくやる気がでたので
適当なスタックマシンをjavascriptで実装して公開しました
計算機については素人です

ついでに Bootsrap もいじってみたかったんで、
Bootstrap も使ってみました

実例がこちらで
http://quwahara.github.com/stackmachine/bs/stackmachinebs.html

ソースはこちら
https://github.com/quwahara/stackmachine


やってみて分かったこと

  • Ubuntu はいいですね
  • やっぱ jQuery 便利
  • Bootstrap 奥が深い
  • Aptana studio 3 便利 (マウスカーソルの位置が見辛いのがちょっと)

javascriptデバッグができる。たまに breakpoint がおかしくなったが。

  • Parallels/Mac にインストールした Ubuntu で screen shot を撮るのにハマった。

→ Shutter http://shutter-project.org/ というので、うまく撮れました。これ便利ですね。ありがとうございます。

  • git の使い方が少し上達した。


git で分かったこと

github で github:pages を作るときは、github に gh-pages というbranch を作ります。
そのリモートの gh-pages からローカルに、 gh-pages を持ってくるのと
ローカルの変更を、リモートの master と gh-pages の branch に反映させる方法がよく分からなかった。

単に下のようにやるだけだとリモートの master しかとってこれない
$ git clone git@github.com:youruserid/yourepo.git

$ git barnch
ってやると
master
しか出てこない

そこでリモートのブランチの状況を確認して

$ git branch -r
origin/HEAD -> origin/master
origin/gh-pages
origin/master

下のようにやると、ローカルにも gh-pages のブランチがとってこれて

$ git checkout -b gh-pages origin/gh-pages
Branch gh-pages set up to track remote branch gh-pages from origin.
Switched to a new branch 'gh-pages'

すでにそのブランチに移動できていることがわかる

$ git branch
* gh-pages
master

(参考) http://git-scm.com/book/ja/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81

これでお好きなブランチで作業して

$ git commit -a

作業してなかったブランチに作業を反映させるために、ブランチを変更して、

$ git checkout master
Switched to branch 'master'


変更をマージする
マージの適用先のブランチに移動して、適用元を merge コマンドの引数で指定する

$ git merge gh-pages
Updating 40222c3..27a36c7
Fast-forward
README.md | 2 ++
1 file changed, 2 insertions(+)


それで master、gh-pages の両方のブランチに作業が反映できます

$ git push --all
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 274 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:youruserid/yourrepo.git
1b0fbc7..27a36c7 gh-pages -> gh-pages
40222c3..27a36c7 master -> master