em1 の取り出しかたとか

とりあえず年初に始まる講義では em1 を使う方向という事で環境作って make しようとしてます。git で em1 なソレの取り出し方とか色々面白かったので以下に控えを。

clone

とりあえずリポジトリは github って事で clone します。

$ git clone git://github.com/OESF/Embedded-Master-ARM.git

clone 終了時点の状態だと HEAD^0 は最新なコミットになっています。おそらく checkout で取り出す事ができるんだろな、と言いつつ tag を確認。

$ git tag
EmbeddedMaster-1.0.0
EmbeddedMaster-2.0.0
EmbeddedMaster-2.1.0
EmbeddedMaster-2.2.0
$

素晴しい。ちゃんとタグが付いてます。checkout してみました。

$ git checkout EmbeddedMaster-1.0.0
Checking out files: 100% (157577/157577), done.
Note: checkint out 'EmbeddedMaster-1.0.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again, Example:

  git checkout -b new branch name

HEAD is now at 9e00b88... Embedded Master1 ARM release
$

detached HEAD というのは_どのブランチにも居ない_という状態らしい。確認。

$ git branch
* (no branch)
 master
$

この状態から元の状態に復帰するには git checkout master すれば OK との事。そして detached HEAD で盛り込んだ修正とか commit は復帰時に破棄される模様。

とゆー事は

タグとかコミットの名前で checkout しておいて、実験するのに良い模様。入門Git では

$ git checkout HEAD^0

で先頭に居つつ detached HEAD な状態にして云々という記述あり。で、試しに commit してみたソレをやっぱ反映させたい場合どうすんだろ、って思ったらコマンド出力なメセジに書いてありますな。
別途時間がある時に試してみましょうね。