
背景
ローカルでコツコツ実装していたリポジトリを周りのメンバーに共有するためにGithubにpushしたりするときもあると思います。
たまにしか行わない作業で忘れがちなのでメモしておきます。
リモートにリポジトリを作成する
Githubにログインしてリポジトリを作成します。
わたしはだいたい~/github/リポジトリ名というディレクトリを作成しているので、このディレクトリに合わせたリポジトリ名にします。
リモートにリポジトリをpushする
リポジトリ作成後に次のアクションの例が表示されるので、それを参考にします。
ローカルになにもない場合
作成したリポジトリをクローンしてからcommit, pushします。
SSH or HTTPSでクローンします
コマンドラインで新しいリポジトリを作成する場合
クローンするのではなく、ローカルでディレクトリを作成してリポジトリとします。
1 | echo "# リポジトリ名" >> README.md |
既存のリポジトリをコマンドラインでpushする場合
今回のケースはこちらにあたります。
1 | git remote add origin https://github.com/オーガナイゼーション名/リポジトリ名.git |
-Mオプションってなんでしたっけと思ったので調べてみました。
1 | With a -m or -M option, <oldbranch> will be renamed to <newbranch>. |
(見やすいよう改行を入れています)
既存のブランチ名をmainに変えてくれってことみたいですね。
いつからこのようになったのでしょうか?調べてみると以下の記事が出てきました。
GitHub、これから作成するリポジトリのデフォルトブランチ名が「main」に。「master」から「main」へ変更
1年くらい前からそうなってたんですね…知りませんでした…
ということで、今後はmainにしていこうと思います。
別のリポジトリからインポートする
リポジトリのURLを指定することで既存のリポジトリをインポートできるようです。
実際にやってみる
では先程作成したGithubのリポジトリをリモートに設定します。
まず現在の設定状況を確認します
1 | $ git remote -v |
なにも表示されないので設定はされていません。
ではリモートを追加します。
1 | $ git remote add origin https://github.com/オーガナイゼーション名/リポジトリ名.git |
追加できているか確認します。
1 | $ git remote -v |
設定できました。
ではブランチ名をmainに変更します。
1 | $ git branch |
今はmasterのみです。
1 | $ git branch -M main |
変更できました。
最後にpushします。
1 | $ git push -u origin main |
うーん、プライベートリポジトリだから認証がうまくいってないようですね。remoteのURLにユーザー名を追加してみます。
リモートを追加するには一度削除してから追加します。
1 | $ git remote rm origin |
もう一度pushしてみます。
1 | $ git push -u origin main |
無事pushできました。
まとめ
最初は自分だけで開発している場合ものちにGithubリポジトリにpushしてチーム開発していくことが多くあると思います。
いつでもpushできるよう準備しておくのが良さそうですね。