GitHub にリポジトリを追加する方法のパターン別まとめ

GitHub でのリポジトリの作成

GitHub にリポジトリを追加する方法についてパターン別にまとめてみます。

このあたりは Git 歴が短めの方や、 Git には慣れているが GitHub に馴染みの薄い方などには少しわかりづらいところかと思います。 そのような方はぜひ参考にしてみてください。

前提

GitHub アカウントが無いとそもそも GitHub 上のリポジトリは作れないので、 GitHub アカウントがあることを前提とします。

GitHub にリポジトリを追加する方法

  • a. 既存のリポジトリ
  • b. 新規のリポジトリ
    • コードなしの場合
    • コードありの場合

a. 既存のリポジトリ

ひとつめは既存のリポジトリがある場合です。 イメージとしては、それまでに BitBucket など他のリポジトリを利用していて、そこから GitHub に移行してくるパターンです。

流れは、まず GitHub のサイト上で手作業でリポジトリを作成し、続いてローカルのリポジトリで GitHub のリポジトリをリモートとして登録する、という流れになります。

GitHub のサイト上で手作業でリポジトリを作成するには、 GitHub サイトのヘッダーのメニューで「 New repository 」をクリックするか URL 直打ちで https://github.com/new にアクセスするとリポジトリの新規作成画面が開くので、そこからフォームを適当に(「いい感じに」という意味で適当に)入力すれば OK です。

GitHub 上のリポジトリが用意できたら、ローカルのリポジトリ上で GitHub のリポジトリをリモートとして登録します。

たとえば、既存のリポジトリが origin という名前で管理されていて、それを上書きしてもよい場合は次のようにします。

git remote set-url origin https://github.com/[ユーザ名]/[リポジトリ名].git

例:

git remote set-url origin https://github.com/gh640/japan-noncompliant-companies.git

問題なく更新できた場合は疎通確認を行います。

$ git ls-remote origin
2764aff753a7c7728bcbc3bbf86c8322e5ba1570  HEAD
2764aff753a7c7728bcbc3bbf86c8322e5ba1570  refs/heads/master

過去のコミットをすべて流す場合はそのまま push まで行います。

$ git push origin master

push すべきブランチが master 以外の場合は上の master の部分を適切なブランチ名に変更してください。

ここまでうまくできれば、 GitHub のリポジトリにコードとコミットの情報が登録されていることがブラウザから確認できることでしょう。

このパターンは以上です。

b. 新規のリポジトリ

続いて、新規のリポジトリの場合です。 このパターンを大きく分けると、まったくのゼロからスタートする「コードなしの場合」とすでにいくらかのコードがある「コードありの場合」の 2 通りに分けられます。 それらを順にご説明します。

コードなしの場合

コードなしの場合はシンプルです。

まず a と同じ要領で GitHub にリポジトリを作成したら、それを git clone コマンドで取得してきます。

$ git clone https://github.com/[ユーザ名]/[リポジトリ名].git

git clone してきたものはすでに origin などが登録されている状態なのでそのまま使い始めることができます。

コードありの場合

すでに書かれたコードがある場合です。 このパターンのイメージは、小さく書き始めたプログラムのサイズが大きくなり、途中から GitHub で管理したくなったようなケースです。

この場合も最初のステップは共通で、まずは a と同じ要領で GitHub にリポジトリを作成します。

続くステップは、次のようにプロジェクトディレクトリに clone してくる形を採ると若干シンプルです。

$ # プロジェクトルート(対象のファイル群があるディレクトリ)に移動
$ cd /path/to/PROJECT_ROOT
$ # プロジェクトルートにリポジトリを持ってくる(末尾の . はカレントディレクトリを意味するもので、この場合は必要です)
$ git clone https://github.com/[ユーザ名]/[リポジトリ名].git .

GitHub 上のリポジトリ上ですでに initial commit を作っている場合(ライセンスファイルなどを含めてリポジトリを作った場合)は、ここで終わりです。

GitHub 上のリポジトリ上でまだ initial commit を作っていない場合は、上のコマンドを実行したときに次のメッセージが出力されるはずです。

warning: You appear to have cloned an empty repository.

これはすでにあるファイルをどれかコミットして initial commit を作成すればいいだけの問題なので、そのまま作業を進めてしまって大丈夫です。

以上です。