概要
最近、初めて自分のソースを公開したので、手順をまとめました。
SSHでの公開キーの設定の仕方に手こずりました。
GitHubとは
Gitはファイルのバージョン管理ツールのこと。
GitHubはGitで管理しているファイルを特定のユーザまたは世界中に共有するためのサービス。
MacまたはLinuxであれば、Gitは標準でインストールされているとのこと。
Windowsの場合はダウンロード&インストールが必要。
Gitの基本構成
Gitは下記の4つの段階でファイルを管理する
ローカルディレクトリ →(add)→ ステージング環境 →(commit)→ ローカルリポジトリ →(push)→ リモートリポジトリ
上記のうち、「ローカルディレクトリ」「ステージング環境」「ローカルリポジトリ」は自分のPC環境(ローカル環境)であり、リモートリポジトリのみサーバ上の環境。
手順
- ターミナル上で公開したいファイルの保存されているディレクトリに移動する
cd XXXX
- Gitを設定する
git init
- ステージング環境にファイルを移動する(全ファイル移動の場合)
git add .
- ステージング環境にファイルが移動したことを確認する
git status
- ステージング環境にあるファイルを全てローカルリポジトリに移動する
git commit -m "コメント"
- コメントは前回からの更新内容を書く。
- ローカルリポジトリのファイルを確認する
git status
- リモートリポジトリと自分のローカル環境を接続する
git remote add origin git@github.com:(ユーザー名)/(github上のリポジトリ名).git
- (ユーザ名)は事前にGitHubに登録したユーザー名を入力
- (github上のリポジトリ名)には事前にGitHubで生成したリポジトリ名を入力
- リモートリポジトリにファイルをアップロードする
git push -u origin head
- headは最新のバージョンのファイルという意味
- originはリモートリポジトリの初期のディレクトリ名
注意事項
リモートリポジトリにファイルをアップしようとすると、下記のエラーが発生することがあります。
Warning: Permanently added the RSA host key for IP address 'XX.XX.XXX.XX' to the list of known hosts.
ERROR: The key you are authenticating with has been marked as read only.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
上記が表示された場合、Keyが設定できてないことが原因です。
キーを生成し、GitHubでキーの設定をする必要があります。
GitHubでのキーの設定の仕方
- ターミナル上で下記コマンドを入力し、sshのディレクトリに移動する
cd ~/.ssh
- 公開キーを生成する
ssh-keygen -t rsa -C XXXX@gmail.com
- "XXXX@gmail.com"はGitHubで登録したメールアドレス
- 下記コマンドで表示された公開キーを全てコピーする
less id_rsa.pub
- ブラウザ上のGitHubのリポジトリ画面の右上にあるSettingsを開く
- 左のリストの中のDeploy keysを開き、右上のNew deploy keyを開く
- 表示されたkey欄にコピーしたキーをペーストする(title欄は空欄で良い)
- すぐ下のAllow write accessにチェックを入れて、Add keyをクリックする
ここにチェックを入れないと、リポジトリへの書き込みはできません。