ノート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ファイルがあります。
(デフォルト値の場合の名前)
公開キーと秘密キーは、IPAの基本情報処理技術者試験でもよく出題される問題です。
仕組みについては本項では割愛します。
参考:公開鍵暗号
コンフィグファイル作成
以下コマンドでコンフィグファイルを作成します。
これがないと、公開キーの読み込みに失敗する可能性があります。
$ vim ~/.ssh/config
記載内容は以下を参考にしてください。
太文字のファイル名は先ほど作成したファイル名と合わせてください。
Host github HostName github.com User git IdentityFile ~/.ssh/id_rsa_github
githubアカウントにSSHキーを追加
githubへアクセスしてログインします。
アカウントがない場合はアカウントを作成してください。
移動後の設定画面で、「SSH and GPG keys」をクリックします。
※SSH:Secure Shell
※GPG:GNU privacy Guad
設定画面で、「SSH」と「GPG」が設定できますが今回は「SSH」を設定していきます。
画像すでに設定済みの画面で、一部加工している状態です。
[New SSH key]をクリックして、先ほど作成した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.
プロジェクトの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プロジェクトとして認識されてなかったとき参考にした。