EclipseからGitを使う
■インストール
EclipseからGitを使うにはEGitというプラグインを使う。
インストールは公式サイトのここにあるように、Eclipseの通常のプラグインインストールと同じように、Help -> Install New Softwareを選択し、Add Siteで http://download.eclipse.org/egit/updates を追加して・・・って感じ。
使用方法はこれが詳しい(英語)。
■sshの設定
Pageantが立ち上がってればそっちで認証してくれるようにして欲しかったんだけど、そのやり方がよく分からなかったので、Puttyの鍵(*.ppk)をPuTTYgenに読み込ませた後にOpenSSH形式でエクスポートして、それを使うようにEclipseで指定する。
Window -> Preferencesで設定画面を開き、General -> Network Connections -> SSH2のところ。
この辺(英語)を参考にした。
■Githubにpushしようとしたらエラーが・・・
ここまでは問題ないんだけど、Githubにプロジェクトを作ってそこにpushしようとしたら以下のようなエラーが出た。
Can't connect to any repository: ssh://git@github.com/yourname/some-project.git (Transport error occured during push operation: ssh://git@github.com/yourname/some-project.git: Missing unknown 79ab7435cb6b8036ae392c786b502e1dece538dd)
エラーメッセージがあまりにざっくりし過ぎて分からない・・・
1時間ちょっと調べた結果、レポジトリが壊れているらしい。確認方法は以下のコマンド。
$ git fsck
その時の結果は以下の通り
broken link from tree 3bf88630c53cd8abbffdaef150c9eb4efcfff656 to blob 677471014eaf6a84fe974aee40b2636ac7f3f60d broken link from tree a1d44357e4a101786759195135aa738b0cd1e857 to blob 97c3c1c30005e4f2f602347d35b6f843a93965e8 broken link from tree 3a71825ffdaf98bb9fbad1716014fd6794542be9 to blob 58926860549935db4ff489d1e8cb03a768ea021d broken link from tree 70828520c11351b3db3e70bc53998d8b461e2957 to blob 85f0db025eb91693c60ec6fce2056bd3ea6d843e broken link from tree 475645438c67472893e74cd1d6abeaf0d7690078 to blob 605a04f0a04086f4b908ca5d55d08f5c448261c7 missing blob 2414ee026220186247f910bccc67b72cea130cf9 missing blob 58926860549935db4ff489d1e8cb03a768ea021d missing blob 605a04f0a04086f4b908ca5d55d08f5c448261c7 missing blob 677471014eaf6a84fe974aee40b2636ac7f3f60d missing blob 77aa806dc80c6d6397b47cfdc5bfa930b842fafb missing blob 7c12c21fcb05ccbc90eb90202c96fb4578f8066d missing blob 85f0db025eb91693c60ec6fce2056bd3ea6d843e missing blob a71a5a7238da30f81090592c6a3b065658fdafe7 missing blob cae8056ab03046960573607eff83fbaecccbc761 missing blob d1485860e8771cf33065442755efa0ef939737c1 missing blob d1b25ec11b332fa626dbbb5538f4af1a5d94c072 missing blob e1ea72738ef3e9107a9d7861a4dbf6bf4bed7fa8 dangling blob 432b6e4026426a195820751c56a4685594a6daac missing blob 4d4fab593be8158a7ecf0f6275765f563767e36e missing blob 79ab7635cb6b80361e392c786b502e1dece538dd missing blob 9529015a78e1cb4b49397aeb6f1c1ad233db7f37 missing blob 97c3c1c30005e4f2f602347d35b6f843a93965e8 missing blob b37766af0fbd976eb40c7f6a1882c5610f111aa5 missing blob d2c592a16e0bf6f9a52d10496b680780bc3de888 dangling blob e3e76a6fd4c49e3f1f2238b923ccb28fba86647d missing blob f0c9560072195038e29f9692046eff36eaee70f0 missing blob f8f517e97a15f27edb5c9d8edb7e33a627ed357c
修復方法とかはこの辺(下の方)に載ってるんだけど、かなり面倒そうだったのと、まだ開発し初めて2日程度だったので、レポジトリを作り直して対処した。