2014年8月18日月曜日

xcodeのソース管理SCMとgitとsnapshotに翻弄…。

.hファイルが消し飛んでから、はや数週間…。

その辺の細かいお話はまた後日書くとして…。

今日はxcodeのソース管理やgitを使えるようになるまでと、
ソースコードをsnapshotで復元(リストア)したことをメモ。

(1)
消えた.hファイルを、唯一取っていたSnapshotから戻そうとした時に、
「いったんRestoreする直前にSnapshot取っておくか」と思い、

xcodeの上メニュー > File > Create Snapshot...

を、実行したところ、なぜか下記のようなエラーが出てしまう。

*** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'xxxx@localhost.(none)')

『あなたが誰だか教えてください…。』

心に刺さる言葉だね…。

「もうスナップショットも取らずにリストアしてしまえ!」と思い、リストアを実行しても同じエラーが。
挙げ句、xcodeの画面が固まり強制的に終了させる事に…。こんなの初めて…。

(2)
gitというのがバージョン管理のツールだというのはかろうじて知っていたので、エラーメッセージやらgitというキーワードで検索してると、xcodeユーザーガイドに行き着く。

https://developer.apple.com/jp/devcenter/ios/library/documentation/Xcode_User_Guide.pdf
ふむふむ。勉強になる…。
ソース管理がなぜ大事かとかも書いてあるし、Appleさんってやっぱすごい。
マニュアルなんて作った事も見た事ない的な仕事をしている自分が恥ずかしい。。。

57ページの「プロジェクトのスナップショットを保存する」あたりからリンクで飛んだりしながら読み進めていくと、
もしかしたらgitが入ってないんじゃないかと思い始める。
※ これは最終的には勘違いです…。入ってます。

xcodeをインストールするときに「system tools」を選択していれば必要なものが入ってますよ、的な事も書いてあるけど、そんな記憶は残っている訳もなく…。

(3)
ターミナルを立ち上げて、エラーメッセージで出てたgit config・・・というコマンドを実行してみると、
『gitなんてコマンドはありません』という感じのメッセージが出る。

ますますgitがインストールされてないんじゃないかと思うが、わざわざインストール時にチェック外すかなぁ、とも思い検索を続けると次のページを発見。
XCode付属のgitのパス - たまめも(tech)http://d.hatena.ne.jp/ar_tama/20120227/1330304819
「/Applications/Xcode.app/Contents/Developer/usr/bin/git」に入っているらしい!

ターミナルでそのディレクトリまで行くと、確かにある!ありがとうございます!


このページに書かれている方法で、.bash_profileに追加。

(4)
xcodeユーザーガイドにある、
「既存のプロジェクトにgit/subversionによる版管理の機能を追加する」の手順をそのまま実行。

その前に、git --versionでgitコマンドが通るか確認。
localhost:~ ukokkei$ git --version
git version 1.8.5.2 (Apple Git-48)
オッケ!(鬼灯の冷徹の髪切り妖怪風)


順調かと思いきや、手順4のところで最初にでたエラーが…。

localhost:marjahnDrill ukokkei$ git commit -m "Initial commit"
*** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'xxxx@localhost.(none)')

もう怖くない。
git configコマンド二個を実行して、手順4を再実行。成功!

どこのページがメモ忘れしてしまったが、xcodeの右側のUtilitiesエリアを見ると、
gitが有効になってないときは、source controlのところに黄色い丸が出るとのこと。

確かに黄色かったです。
上記のコマンドを実行したら、ちゃんと緑色の丸が出ました!

(5)
いざxcodeでcreate snapshotを。
取れた!

ではやっとやりたかった、restore snapshotを。
オッケ!!

ソースが戻ったー。
ビルドして実行すると、なつかしのiOSシュミレーターが立ち上がってくれたー!

けど最初にリジェクトされた直後に取ったやつだから、まあまあ古い。。。

リジェクトされた原因を回避するために書き加えていた.mファイルの方は、
もともと壊れてなかったのでリストアする前の状態に戻す。
これはテキストファイルでとってたのをコピペ…。

あとはiPadでもちゃんと下が切れないようにstoryboardでボタンとかの配置を上側にずらした作業が無に帰したので、これは後日やろう…。
これもAutoLayout(?)とかちゃんとやると、こんな苦労はしなくていいんだろうか・・・。

(6)
何はともあれ、スタートラインには戻れたのでまた出直しだ!


0 件のコメント:

コメントを投稿