はじめに
- Mac OS
- Gitインストール済み。
- GitHubアカウントは登録済み。
- 管理したいプロジェクトはHelloWorldレベルで実装済み。
という状態からリモートリポジトリへPushするまでの手順を残します。
やったこと
1.ローカルリポジトリを作成する
既存フォルダをGit管理対象に設定
$ cd ソースコードが入っているフォルダのパス
$ git init
$ ls -a
. .eslintignore .postcssrc.js index.html src
.. .eslintrc.js README.md node_modules static
.babelrc .git build package-lock.json test
.editorconfig .gitignore config package.json
.git
が存在するようになればOKです。
commitする
ソースコードはまだpushしたくないので、空コミットを行います。
$ git commit --allow-empty -m "first commit"
$ git log
Committer: 本名 <本名のMacBook-ea.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
ユーザー名とEmailアドレスを設定していませんでした。。
以下のコマンドで設定。
$ git config --global user.name "設定したい名前"
$ git config --global user.email 設定したいアドレス@example.com
2.GitHubと連携する
リモートリポジトリの作成
自分のGitHubアカウントからNew
ボタンでリポジトリを作成します。
以下の入力を行います。
- Repository name
- Description
- Public / Private (今回はPublicにしました)
- Initialize ~~ (今回はすでにREADME.mdのファイルが存在していたのでチェックを外しました)
リモートに反映する
方法はいくつか提示されています。
- Quick setup
- コマンドラインでローカルリポジトリを作成
- 既存リポジトリをPushする
- 他リポジトリからソースコードを取得
今回は「既存リポジトリをPushする」を実施します。
Pushする
# ローカルリポジトリにリモートリポジトリのURLを知らせる
$ git remote add origin git@github.com:{user name}/{repository name}.git
# ローカルリポジトリに紐づいているリモートリポジトリのURLを表示する
$ git remote -v
origin git@github.com:{user name}/{repository name}.git (fetch)
origin git@github.com:{user name}/{repository name}.git (push)
#リモートのmasterブランチにPush
$ git push -u origin master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
???
どうやら公開鍵・秘密鍵を生成してGitHubに登録する必要があるみたいです。
公開鍵・秘密鍵を生成
公式 Connecting to GitHub with SSH
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
こちらの手順を参考にしました。
実施したコマンドをまとめると
# 鍵を入れるフォルダに移動
$ cd ~/.ssh
# 生成されている鍵を確認
$ ls
known_hosts
# 鍵を作成
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/{user name}/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/{user name}/.ssh/id_rsa.
Your public key has been saved in /Users/{user name}/.ssh/id_rsa.pub.
The key fingerprint is:
The key's randomart image is:
# 鍵の中身をクリップボードにコピー
$ pbcopy < ~/.ssh/id_rsa.pub
GitHubの Setting > SSH and GPG keys からコピーした鍵情報を登録します。
(再)Pushする
$ git push -u origin master
Warning: Permanently added the RSA host key for IP address 'xx.xx.xx.xx' to the list of known hosts.
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Writing objects: 100% (2/2), 158 bytes | 158.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To github.com:{user name}/{repository name}.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
成功しました!