コマンドラインでgithubからクローンしてEclipseでJavaプロジェクトを作成する

ノートPC新調して、gitに挙げてたコードをノートPCでも開発したかったのでセットアップ。
セットアップ時に詰まったところを備忘録でまとめておく。

ゴール

gitコマンドでgithubからクローンして、Eclipseで開発したコードをコミット。

実施環境

PC環境

OS:Windows 10 Home
CPU:Intel(R) Core(TM) i5-8250U 1.60GHz
RAM:8GB
SSD:NVMe TOSHIBA 256GB

ツール

Eclipse:Photon Release (4.8.0)
GitBash:2.20.1.windows.1


手順


インストール

手順一覧へ戻る

Git for Windowsから、GitBashをダウンロード。
インストーラに従ってインストールします。
設定はお好みで。


SSHキーの作成

手順一覧へ戻る

公開キーと秘密キーを作成します。
僕は、とりあえず最小限の設定で作成しました。

このコマンドでSSHキーを作成します。
特にファイル名を変更しないし、パスフレーズも設定しない場合はEnterキー押下でOKです。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):ここに任意のファイル名を指定することも可能
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

ファイル名を変更する場合、以下のように入力します。

Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):/Users/naoto/.ssh/id_rsa_github

コマンドによって作成されるファイルは、以下の2ファイルがあります。
(デフォルト値の場合の名前)

id_rsa
秘密キーです。
githubに設定する公開キーと紐づいています。
id_rsa.pub
公開キーです。
後ほどアカウントに設定する場面で、githubにこのファイルの内容をコピペします。

公開キーと秘密キーは、IPAの基本情報処理技術者試験でもよく出題される問題です。
仕組みについては本項では割愛します。
参考:公開鍵暗号


コンフィグファイル作成

手順一覧へ戻る

以下コマンドでコンフィグファイルを作成します。
これがないと、公開キーの読み込みに失敗する可能性があります。

$ vim ~/.ssh/config

記載内容は以下を参考にしてください。
太文字のファイル名は先ほど作成したファイル名と合わせてください。

Host github
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_github


githubアカウントにSSHキーを追加

手順一覧へ戻る

githubへアクセスしてログインします。
アカウントがない場合はアカウントを作成してください。

画面右上の設定画面から「Settings」を選択します。
Settingsをクリック

移動後の設定画面で、「SSH and GPG keys」をクリックします。
※SSH:Secure Shell
※GPG:GNU privacy Guad
SSH and GPG keysをクリック

設定画面で、「SSH」と「GPG」が設定できますが今回は「SSH」を設定していきます。
画像すでに設定済みの画面で、一部加工している状態です。
[New SSH key]をクリックして、先ほど作成したSSHキーの内容をコピペで設定します。
SSHキーの新規追加

移動後の画面の赤枠に、作成した[id_rsa.pub]の公開キーの中身をコピペします。
.pub拡張子ではない方は、秘密キーなのでコピペしても設定できません。
titleはお好きな名前をどうぞ。どの公開キーを意図しているかが分かれば良いと思います。

コピペして[Add SSH key]を押して先ほどの様な画像になっていればOKです。
作成した公開キーのコピペ場所


SSHキーの追加

手順一覧へ戻る

今回の詰まったポイント。

この時点で、疎通確認をしたとき以下の様なコンソールが出たら実行してください。

Permission denied (publickey).

追加は以下のコマンドで可能です。

$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa

コマンド後、追加できていれば以下のようなコンソールが出力されます。
もし、出力が異なる場合は「コンフィグファイル」に設定したファイル名や、実際のファイル名が異なっていないか確認してください。

Identity added: /c/Users/{USER}/.ssh/id_rsa (/c/Users/{USER}/.ss
h/id_rsa)

※なぜかGitBashを落とすと、毎回addしないといけないけど原因は不明。


githubとの疎通確認

手順一覧へ戻る

SSHが正しく設定できているかどうか、疎通を確認します。
以下のコマンドを実行します。

$ ssh -T github

成功した場合、以下のようなコンソールになります。
失敗した場合はコンフィグファイル周りか、生成した公開キーあたりを見直してください。

Hi UserName! You've successfully authenticated, but GitHub does not provide shell access.


クローン

手順一覧へ戻る

いよいよクローンします。
クローン前に、クローン先のディレクトリへ[cd]コマンドで移動しておいてください。
(/c/workspace/git/にクローンしたい場合はそこまで移動する)

コマンドのテンプレは以下になります。

$ git clone git@github.com:githubのユーザー名/クローンしたいリポジトリ名.git

例えば、以下の画像では
ユーザー名 :NaotoWada
リポジトリ名:CCN
となり、コマンドは次のように記載します。
[git clone]まで入力してから、[clone or download]のコピペでもOKです。

$ git clone git@github.com:NaotoWada/CCN.git

成功すると、以下の様なコンソールが出力されます。

Receiving objects: 100% (3/3), done.

CCNリポジトリ


プロジェクトのEclipseへのインポート

手順一覧へ戻る

パッケージエクスプローラー上で右クリック
→Git
→Gitからプロジェクト
→既存ローカル・リポジトリー:次へ
→追加(cloneしたディレクトリ):次へ
→新規プロジェクト・ウィザードを使用してインポート(P):完了(E)
→Javaプロジェクト:次へ
→プロジェクト名をリポジトリ名と合わせる:完了(E)

編集・コミット

手順一覧へ戻る

任意の変更したいファイルを適当に変更します。

パッケージエクスプローラー上でチーム→コミットでコミットします。
そのままプッシュしたい場合は、[コミットおよびプッシュ]でプッシュします。

※GitBashでも同じことできるはずなので、後で追記します。

参考リンク集

公開キー作成~全般的な参考サイト

今日からはじめるGitHub ? 初心者がGitをインストールして、プルリクできるようになるまでを解説
Qiita:GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~

困ったとき用の参考リンク集

【Git】git clone コマンドで「fatal: Could not read from remote repository.」が表示された場合の対処方法
[fatal: Could not read from remote repository]が発生した時参考にした

QIita:Githubに接続できない時の対処法
[Permission denied (publickey).]のエラーが出た時参考にした。

ssh-addできなかったときへの対処
[ssh-add]できないとき参考にした。

GitHubとかからJava ProjectをEclipseにimportするときのまとめ
[エディターに問題があります]が出たのでjavaプロジェクトとして認識されてなかったとき参考にした。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする