2012/12/06

GitHub with Eclipse

スマホアプリを作るためにEclipseでもGitHubにアップロードできるようにした。
(※本稿は作業ログです)

  • EclipseにEgitをインストール
  • EclipseでGitHubにファイルをアップロードする
  • EclipseでGitHubからファイルをダウンロードする

EclipseにEgitをインストール

Eclipse all in Oneをインストールしているなら、最初からインストールされているはず。

EclipseでGitHubにファイルをアップロードする

ファイルをリモートサーバのリポジトリにアップロードすることをgitではpushという。
EgitのウェブヘルプのGitHubの項(*1)にしたがって実施する。
sshで接続をしようとしたところ、下記のエラーメッセージが表示され、次のダイアログが操作できなかったので、sshは諦め、httpsで接続することにした。
Cannot get remote repository refs.
Reason:
ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established.
RSA key fingerprint is …
Are you sure you want to continue connecting?
ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established.
RSA key fingerprint is …
Are you sure you want to continue connecting?
また、最初にGitHub側でプロジェクトを作成する際、"initialize this repository with a README"を選択してREADMEを作ってしまうと、このREADMEを作ったこと自体が最初のコミットとなってしまい、
GitHub 新しいリポジトリを作る(GitHub.comより引用)
Eclipseからpushしようとするとコミットの競合が起こってしまう。
pushすると競合する(Eclipseより引用)
強制的にpushすることも可能だろうが、READMEを作らなければ回避できる。

*********12/12/08追記*********
Egitで管理すると、プロジェクトのワーキングフォルダが~/workspaceからgitリポジトリに移動される。気持ち悪いが、このページ(*3)を見るに、慣れろということらしい。そして関連するプロジェクトは一つのリポジトリで管理せよともある。

Egitでの管理開始時に、名前の解決がうまくいかないことがあるが再起動すれば直る。リポジトリに登録したらEclipseを立ち上げなおすことが必要そうだ。
*********12/12/08追記ここまで*********

EclipseでGitHubからファイルをダウンロードする

ファイルをリモートサーバのリポジトリからダウンロードすることをgitではpullという。
Eclipseでプロジェクトを右クリックし、コンテンツメニューでTeam>Pullを選択すればよい。
しかし最初のままでは下記のエラーが発生する。

The current branch is not configured for pull
No value for key branch.master.merge found in configuration

こちらのサイト(*2)を参考にして対応した。
しかし、さらに下記のエラーが表示された。

The current branch is not configured for pull
No value for key remote.origin.url found in configuration

指示通り、key"remote.origin.url"を先の対応と同様に.git/configに追加する。値はGitHubのプロジェクトのリポジトリへのuriである。
さらに、Package Explorerからプロジェクトを右クリックし、コンテンツメニューからTeam>remote>Configure fetch from upstreamを選択する。
ダイアログが表示されるので"Add"をクリック。
Configreダイアログでaddをクリック(Eclipseより引用)
fetch/pullするブランチ名を入力する。通常はmaster。
"master"と入力すると自動的に補完される(Eclipseより引用)
その他はこのままで"next","finish","save"。
これでpullの準備ができた。
Package Explorerからプロジェクトを右クリックし、コンテンツメニューからTeam>Pullを選択すればファイルがダウンロードできる。
ただ、新しいブランチを作る際にコンフィグを変更しなければならないかもしれない。
ということで、上記は正しいやり方でないかもしれないことをご了承願う。

参照したURL

1.と2.は12/12/06に参照した。3.は12/12/08に参照した

  1. Egit/User Guitde<http://wiki.eclipse.org/EGit/User_Guide#GitHub_Tutorial>
  2. mooapp iPhone App "Morve"の開発・サポートサイトです。<http://moomindani.wordpress.com/2012/09/10/eclipse-4-2xegit%E7%92%B0%E5%A2%83%E3%81%A7pushpull%E3%81%AE%E3%83%8F%E3%83%9E%E3%82%8A%E3%81%A9%E3%81%93%E3%82%8D%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B/>
  3. stack Overflow Should I store git repository in Home or Eclipse Workspace?
    <http://stackoverflow.com/questions/7685246/should-i-store-git-repository-in-home-or-eclipse-workspace>



0 件のコメント:

コメントを投稿