自分で作った Xcode のプロジェクトを Bitbucket にアップする
まずは既存の Xcode のプロジェクト(my2ndRepo)のフォルダへ移動
paraches-no-iMac:~ paraches$ cd my2ndRepo/ paraches-no-iMac:my2ndRepo paraches$ ls Classes my2ndRepo-Info.plist MainWindow.xib my2ndRepo.xcodeproj build my2ndRepoViewController.xib main.m my2ndRepo_Prefix.pch paraches-no-iMac:my2ndRepo paraches$
で、Mercurial のリポジトリにするためにイニシャライズ。
paraches-no-iMac:my2ndRepo paraches$ hg init paraches-no-iMac:my2ndRepo paraches$
リポジトリを確認
paraches-no-iMac:my2ndRepo paraches$ hg status ? Classes/my2ndRepoAppDelegate.h ? Classes/my2ndRepoAppDelegate.m ? Classes/my2ndRepoViewController.h ? Classes/my2ndRepoViewController.m ? MainWindow.xib ? build/Debug-iphonesimulator/my2ndRepo.app.dSYM/Contents/Info.plist ? build/Debug-iphonesimulator/my2ndRepo.app.dSYM/Contents/Resources/DWARF/my2ndRepo ? build/Debug-iphonesimulator/my2ndRepo.app/Info.plist ? build/Debug-iphonesimulator/my2ndRepo.app/MainWindow.nib ? build/Debug-iphonesimulator/my2ndRepo.app/PkgInfo ? build/Debug-iphonesimulator/my2ndRepo.app/my2ndRepo ? build/Debug-iphonesimulator/my2ndRepo.app/my2ndRepoViewController.nib ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/Objects-normal/i386/main.o ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/Objects-normal/i386/my2ndRepo.LinkFileList ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/Objects-normal/i386/my2ndRepoAppDelegate.o ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/Objects-normal/i386/my2ndRepoViewController.o ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/build-state.dat ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/my2ndRepo-all-target-headers.hmap ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/my2ndRepo-generated-files.hmap ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/my2ndRepo-own-target-headers.hmap ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/my2ndRepo-project-headers.hmap ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/my2ndRepo.dep ? build/my2ndRepo.build/Debug-iphonesimulator/my2ndRepo.build/my2ndRepo.hmap ? build/my2ndRepo.build/my2ndRepo.pbxindex/categories.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/cdecls.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/decls.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/files.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/imports.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/pbxindex.header ? build/my2ndRepo.build/my2ndRepo.pbxindex/protocols.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/refs.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/strings.pbxstrings/control ? build/my2ndRepo.build/my2ndRepo.pbxindex/strings.pbxstrings/strings ? build/my2ndRepo.build/my2ndRepo.pbxindex/subclasses.pbxbtree ? build/my2ndRepo.build/my2ndRepo.pbxindex/symbols0.pbxsymbols ? main.m ? my2ndRepo-Info.plist ? my2ndRepo.xcodeproj/project.pbxproj ? my2ndRepo.xcodeproj/paraches.mode1v3 ? my2ndRepo.xcodeproj/paraches.pbxuser ? my2ndRepoViewController.xib ? my2ndRepo_Prefix.pch paraches-no-iMac:my2ndRepo paraches$
ファイル名の前に ? が付いているファイルはリポジトリに追加されていないファイル。これらをリポジトリに追加すれば良いのだけど、build の下のファイルや Xcode の設定ファイル等はリポジトリに必要ないので外しておいた方が良いかな。それには、このフォルダに .hgignore というファイルを作って外すファイルを指定。このファイルはココのをそのまんま使用。
paraches-no-iMac:my2ndRepo paraches$ cat .hgignore syntax: regexp /\. DS_Store ^build/ .*\.mode1v3$ .*\.pbxuser$ paraches-no-iMac:my2ndRepo paraches$
もう一度 status コマンドで確認すると
paraches-no-iMac:my2ndRepo paraches$ hg status ? .hgignore ? Classes/my2ndRepoAppDelegate.h ? Classes/my2ndRepoAppDelegate.m ? Classes/my2ndRepoViewController.h ? Classes/my2ndRepoViewController.m ? MainWindow.xib ? main.m ? my2ndRepo-Info.plist ? my2ndRepo.xcodeproj/project.pbxproj ? my2ndRepo.xcodeproj/paraches.mode1v3 ? my2ndRepoViewController.xib ? my2ndRepo_Prefix.pch paraches-no-iMac:my2ndRepo paraches$
必要なファイルだけが表示されます。
この状態でファイルをリポジトリに追加
paraches-no-iMac:my2ndRepo paraches$ hg add * adding Classes/my2ndRepoAppDelegate.h adding Classes/my2ndRepoAppDelegate.m adding Classes/my2ndRepoViewController.h adding Classes/my2ndRepoViewController.m adding my2ndRepo.xcodeproj/project.pbxproj adding my2ndRepo.xcodeproj/paraches.mode1v3 paraches-no-iMac:my2ndRepo paraches$
status を確認すると
paraches-no-iMac:my2ndRepo paraches$ hg status A Classes/my2ndRepoAppDelegate.h A Classes/my2ndRepoAppDelegate.m A Classes/my2ndRepoViewController.h A Classes/my2ndRepoViewController.m A MainWindow.xib A main.m A my2ndRepo-Info.plist A my2ndRepo.xcodeproj/project.pbxproj A my2ndRepo.xcodeproj/paraches.mode1v3 A my2ndRepoViewController.xib A my2ndRepo_Prefix.pch ? .hgignore paraches-no-iMac:my2ndRepo paraches$
ちゃんとリポジトリに加えられています。
次にコミットして
paraches-no-iMac:my2ndRepo paraches$ hg commit -m "Initial commit" paraches-no-iMac:my2ndRepo paraches$
Bitbucket へ push! の前に、Bitbucket に my2ndRepo というリポジトリを作っておきます。これを作っておかないと 404 Error になります。
Bitbucket に my2ndRepo リポジトリを作り終わったら、今度こそ push します。
paraches-no-iMac:my2ndRepo paraches$ hg push https://bitbucket.org/paraches/my2ndrepo http authorization required realm: Bitbucket.org HTTP user: paraches password: pushing to https://bitbucket.org/paraches/my2ndrepo searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 11 changes to 11 files remote: bb/acl: paraches is allowed. accepted payload. paraches-no-iMac:my2ndRepo paraches$
ちゃんと push できました。
Bitbucket で my2ndRepo を見てみるとこんな感じ。
後は、Xcode で修正して、コミットして push するという事の繰り返しで個人的には良いかなと。
元に戻したい場合は revert できるし、ブランチ作ってそっちで作業してそれを取り込むとかも普通にできるし。自分にはそんな程度で OK。