勉強して作ったものをGitHubで公開したいなと思って、始めようとしました。
しかし、サイトによってやり方が違うし、その通りやっても上手くいかなかったり、挫折しかけました。
ようやく上手く行ったのでその記録。
対象読者
GitHubで公開したい、導入に手間取りたくない方。
GitHubを始めようとしたけどエラーが出て進めなくなったり、サイトごとによって始め方がバラバラで導入が上手くいかず、挫折してしまった方。
注意
解説などはなく、とりあえずgithubに公開するまでの流れです。
事前準備
基礎知識(リポジトリとかコミットとか)
GitHubのアカウント
GitHubでリポジトリの作成
ここを参考に
Gitのインストール
Windows
Git for Windowsをダウンロード
Mac
Gitが最初から付属しています。
もしインストールされていなかったり、新しいバージョンのGitを利用する場合は、別途公式サイトからインストールします。
Gitコマンドの実行確認
Windows
Git Bashを開きます。
Mac
ターミナルを開きます。
開いたら、以下を入力
$ git --version
バージョンが表示されれば成功です。
git version 2.15.2 (Apple Git-101.1)
Macの方で
Agreeing to the Xcode/iOS license(以下略)
とでたら
$ sudo git --version
を実行し、ライセンスの長い文が出てくるので q
を入力。
その後、同意を求めてくるのでagree
を入力しましょう。
ユーザー名とメールアドレスを設定
ユーザー名とメールアドレスを登録します。
Gitのコミットの情報に用いられるようです。
GitHubのアカウントと同じにしておくと分かり易いかもしれません。
$ git config --global user.name "【ユーザー名】"
$ git config --global user.email 【メールアドレス】
登録したら、以下のコマンドで確認して見ましょう。
$ git config --list
結果
user.name=【ユーザー名】
user.email=【メールアドレス】
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
SSH
これをしないと、pushのたびにユーザー名とパスワードを求められるようです。
以下のコマンドで、sshフォルダに移動します。
$ cd ~/.ssh
移動したら、以下のコマンドのどちらかを実行します。
$ ssh-keygen -t rsa
↓GitHub推奨のオプションをつけたもの。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
鍵の場所とファイル名
上記を入力すると、鍵をどこに保存するか聞かれます。
Enter file in which to save the key (/Users/(name)/.ssh/id_rsa):
このままenterすると、Users/(name)/.ssh/
にid_rsa
という名前で保存されます。
もし名前を変えたいときは、
Enter file in which to save the key (/Users/(name)/.ssh/id_rsa):/Users/(name)/.ssh/【ファイル名】
のようにします。
パスフレーズ
場所とファイル名の設定が終わると、パスフレーズなるものを求められます。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
設定しない場合は、Enter2回押して飛ばしましょう。
設定する場合、入力が画面に表示されないので注意しましょう。
以下のようなのが出れば成功です。
Your identification has been saved in /Users/(name)/.ssh/(ファイル名).
Your public key has been saved in /Users/(name)/.ssh/(ファイル名).pub.
The key fingerprint is:
SHA256:略
The key's randomart image is:
+---[RSA ]----+
| |
+----[SHA256]-----+
次に以下のコマンドを実行します。
$ vim ~/.ssh/config
vimに切り替わるので、以下を入力します。
Host github
HostName github.com
User git
IdentityFile ~/.ssh/【ファイル名】
ファイル名には、鍵の場所とファイル名でつけたものを入れます。
入力したら:wq
を入力してvimを終了します。
GitHubで鍵の登録
GitHubにログインし、アカウントメニューからSettingsを開きます。
開くと、左にSSH and GPG keys
というのがあるので開きます。
New SSH key
を開くと、以下のような画面になると思います。
Title
を自由に入れます。
ここで一度ターミナルに戻り、以下のコマンドを実行してコピーします。
$ pbcopy < ~/.ssh/【ファイル名】.pub
(Mac)
$ clip < ~/.ssh/【ファイル名】.pub
(Windows)
ファイル名は、鍵の場所とファイル名でつけたものを入れます。
.pubのほうなので注意。
再びGitHubへ戻ります。
先ほどの、Title
の下のKey
の場所にCtrl(command) + V
でコピーしたものを貼り付けます。
Add SSH key
を押し終わります。
接続の確認
ターミナルに戻り、以下のコマンドを実行して接続の確認をします。
$ ssh github
以下のようなメッセージが出れば成功です。
Hi 〇〇! You've successfully authenticated, but GitHub does not provide shell access.
既存プロジェクトをGitHubへ
デスクトップにTestというフォルダがあり、
中身は以下のようになっており、まだ、バージョン管理を行っていないものとします。
ターミナルからcdコマンドを使って、Testフォルダに移動します。
$ cd ~/Desktop/Test
移動したら、git init
コマンドを実行し、Gitリポジトリを作成します。
以下のようなメッセージが出るはずです。
Initialized empty Git repository in /Users/(name)/Desktop/Test/.git/
バージョン管理したいものを指定するgit add
コマンドを入力します。
今回は全部を対象に含めます。
$ git add --all
ファイルやディレクトリの追加や変更をリポジトリに記録するため、コミットをします。
$ git commit -m "コメント"
コミットが終わると以下のようなメッセージが出ます。
[master (root-commit) ]
4 files changed, 610 insertions(+)
create mode 100644 css/normalize.css
create mode 100644 css/style.css
create mode 100644 image/header.jpg
create mode 100644 index.html
リモートリポジトリへ反映
GitHubのどのリポジトリに反映させるかの情報を追加します。
事前に作っておいた、リポジトリの真ん中に以下のようなメッセージがあります。
…or push an existing repository from the command line
git remote add origin git@github.com:〇〇/test.git
git push -u origin master
下2行をコピーして、ターミナルに貼り付けて実行します。
$ git remote add origin git@github.com:〇〇/test.git
$ git push -u origin master
完了するまで待ちます。
完了すると以下のようなメッセージが出ます。
Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (8/8), 570.28 KiB | 6.55 MiB/s, done.
Total 8 (delta 0), reused 0 (delta 0)
.
.
.
GitHubを確認して、追加されて入れば終了です。
参考にさせていただいたサイト
今日からはじめるGitHub
今さら聞けない!GitHubの使い方
gitHubでssh接続する手順~公開鍵・秘密鍵の生成から~