gitまとめ
よく使うコマンドをまとめ。
使う前にやること
gitの設定
無視するファイルを指定
- 下記のファイルを編集。.gitと同じディレクトリに置く
.gitignore
基本操作
リモート→ローカル
リモートの変更を手元に持ってくる
持ってくるが、ローカルブランチに反映はしない
git fetch
ローカルでの操作
ブランチを作る
ローカルブランチ hoge を作る
git branch hoge
新しくブランチを作り、そのブランチに切り替える
作る→移動するを1コマンドで。こっちのが楽
git checkout -b hoge
masterブランチを元にhogeブランチを作る場合
git checkout master(masterブランチに移動して) git fetch(変更を持ってきて) git rebase origin/master(持ってきた変更をmasterに反映して) git branch hoge(それを元にブランチを作る)
ブランチを削除する
git branch -d hoge
変更されたファイルの一覧を見る
git status
変更されたファイルをコミット対象にする
git add ファイル名
git add を取り消す
git reset HEAD ファイル名
コミット間の差分を見る
コミットの指定はコミット番号で良い。最初の7桁だけで大丈夫らしい
git diff コミット番号 コミット番号
削除したファイルをstageに移動(add)する
削除したファイルは -all オプション付けないと駄目らしい
git add --all 削除したファイル
マージを取り消す
というか一つ前に戻るコマンドだけども
git reset --hard HEAD~
削除したファイルを戻す
git checkout HEAD -- ファイル名
GeolocationAPI 調査その1
ちょいとGeolocationAPIを使うことになったので、調べた事をメモする。
本家は下記。
Geolocation API Specification
日本語でまとめてある記事があるので参考にする。
JavaScriptで位置情報を取得する方法(Geolocation API)
使用するAPI
- navigator.geolocation.getCurrentPosition
- navigator.geolocation.watchPosition
共通の仕様
どちらのAPIを使うにしても、下記の形で使用する。本家より。
navigator.geolocation.getCurrentPosition(successCallback, errorCallback, option);
位置情報の取得に成功した時は successCallback が呼び出される。失敗した時は errorCallback。あとはオプションの指定が可能。
getCurrentPosition と watchPosition の違いは、一度(呼ばれたとき)しか動かないか、その後も一定間隔で動き続けるかの違い。
getCurrentPosition は呼び出された時しか動かず、watchPosition は一定間隔で動き続ける。カーナビのようにリアルタイムで位置情報を更新する場合は watchPosition を使うことになるのかな。
watchPosition の一定間隔はオプションで指定する事になるのだろうか。おそらくオプションに指定出来る物は getCurrentPosition と watchPosition で変わってきそう。
watchPosition の動きを止める場合、IDを指定して止める。そのため、watchPosition は戻り値にIDを返すようだ。以下が本家のサンプルコード。
function scrollMap(position) { // Scrolls the map so that it is centered at (position.coords.latitude, position.coords.longitude). } function handleError(error) { // Update a div element with error.message. } var watchId = navigator.geolocation.watchPosition(scrollMap, handleError);
※ この例ではオプションを省略している。
上記を見ればわかるが、successCallback として scrollMap関数を渡している。scrollMap関数は、引数として position を受け取る。この中に位置情報等が保存されている。
仕様を見てみると
interface Position { readonly attribute Coordinates coords; readonly attribute DOMTimeStamp timestamp; };
DOMTimeStamp は多分そのままの意味だろうけど、Coordinatesってなんだろ・・?
interface Coordinates { readonly attribute double latitude; readonly attribute double longitude; readonly attribute double? altitude; readonly attribute double accuracy; readonly attribute double? altitudeAccuracy; readonly attribute double? heading; readonly attribute double? speed; };
ほむほむ。色々持ってる。double?とか言う怪しい型は無視して全プロパティの説明を読んでみる。
プロパティ | 説明 |
---|---|
latitude | 緯度 |
longitude | 軽度 |
altitude | 高さ(メートル単位) |
accuracy | 緯度・軽度の精度(メートル単位) |
altitudeAccuracy | 高さの精度(メートル単位) |
heading | 方角。0〜360度。0を北とし、時計のように見る |
speed | 速度(メートル/秒) |
ふーむ、北緯と南緯はどうやって表現してるんだろうと思ったら、マイナスで表現すると、下記に書いてあった。なるほど。
JavaScriptで位置情報を取得する方法(Geolocation API)
とりあえず基本はこんな感じ。