【GitHub】無料プライベートリポジトリの初期設定

github

ソースコードの管理に、多くの方が、Git リポジトリを利用していると思います。

代表的な Git リポジトリと言えば、以下の 3つでしょうか。

業務なら、GitHub の有料プライベートリポジトリ。

個人で使うなら、無料で使える Bitbucket って方が多いのではないでしょうか?

私は、無料ということと、AWS という名前に魅かれて、使いづらい CodeCommit を使っていましたが・・・

ですが、とうとう GitHub でも、無料でプライベートリポジトリが使えるようになりました!

共有できるのは、3人までと制限はありますが、個人で開発している方には、嬉しい変更だと思います。

新しい年とともに、新しいGitHub を - The GitHub Blog - Japan
本日、GitHubの利便性を高めるためのメジャーアップデートを2つお知らせします。

ということで、私は、早速 CodeCommit から GitHub に乗り換えようと決意しました。

ここでは、移行の際に、行った事を順番に紹介します。

この記事は、Linux に関して多少知識のある方、もしくは、私が記述した内容を、そのまま素直に実行できる方を対象にしています。

管理人は、Windows 環境ですが、Mac でもほとんど、作業内容は変わりません。

スポンサーリンク

全体の流れ

  • GitHub にリポジトリを作る
  • remote の参照を変更
  • SSH 接続の設定
  • ソースコードを commit・push する

GitHub にプライベートリポジトリを作成する

事前準備

事前に、GitHub のアカウントを作成してください。

GitHub アカウント作成ページ

アカウント作成方法については、それほど、難しい事は無いので、割愛します。

作成が完了したら、以下のページからログインしてください。

GitHub ログインページ

空のプライベートリポジトリを作成する

github - welcome

画面左下にある「New repository」をクリックしてください。

github - 新規プライベートリポジトリ作成

各項目を入力し、「Create Repository」を押下してください。

各項目について

  • 「Repository name」:リポジトリ名の設定(プロジェクト名のようなものです)
  • 「Description」:このリポジトリの説明(未記入でも構いません)
  • 「Private」:設定したアカウントしか、このプロジェクトを見れないようにする設定
  • 「Initialize this repository with a README」:README ファイルを作るかどうかの設定
  • 「.gitignore」:Git で管理しないファイルの設定
  • 「license」:このプロジェクトのライセンス設定

「Repository name」は、分かりやすく簡潔なものにしましょう。

「Public」を選択すると、全世界に公開されますので、必ず「Private」を選択してください。

他の項目は、デフォルトのままで構いません。

リモート(Remote)の参照を変更

github - SSH リモート参照先

私は、既に CodeCommit を利用しているので、remote の参照先を変更します。

画像の通り「Clone or download」をクリックし、ポップアップ右上にある「Use SSH」を選択。

表示された URL をコピーしておきます。

現在の参照先を確認

「Git Bash」を起動。

$ vagrant ssh

$ cd /home/vagrant/code/laravel

$ git remote -v

参照先を変更

$ git remote set-url origin [コピーした URL]

$ git remote -v

push が正しく変わっていない場合は下記で設定。

$ git remote set-url --push origin [コピーした URL]

SSH 接続の設定

公開鍵・秘密鍵を作成する

$ cd ~/.ssh

$ ssh-keygen -t rsa

SSH 接続するための鍵を登録

画面右上の画像をクリックし、「Settings」を選択。

「Personal settings」-「SSH and GPG keys」をクリックし、画面右上の「New SSH key」を選択します。

「title」に公開鍵名、「key」に公開鍵の内容を記載。

疎通確認

$ ssh -T git@github.com

以下のような Warning が発生する場合には、

Warning: Permanently added the RSA host key for IP address ‘192.30.255.112’ to the list of known hosts.

git@github.com: Permission denied (publickey).

以下のコマンドを実行。

$ ssh-keygen -R 192.30.255.112

ソースコードを commit・push する

$ git commit -m "relocate"

$ git remote add origin git@github.com:xxxxx/xxxxx.git

以下のようなエラーが発生!

fatal: remote origin already exists.

なので、一旦、origin を削除し、再度 origin を登録する

$ git remote rm origin

$ git remote add origin git@github.com:xxxxx/xxxxx.git

$ git fetch

$ git push -u origin master

すると再びエラー!

複数のリポジトリをマージしようとするとなるらしい。

fatal: refusing to merge unrelated histories

$ git merge --allow-unrelated-histories origin/master

$ git push -u origin master

これで、無事完了しました!


コメント