Git ローカルのプロジェクトをGitHubのリモートリポジトリに登録する

person holding a small paper
目次

GitHub CLIをインストールする

GitHub CLIは,コマンドライン上でGitHubの操作を行えるコマンドラインツール群です.GitHubが公開しています.GitHb CLIを使うことで,GitHubへのpushやリポジトリを行うことが出来ます.

以下を参考にインストールします.

あわせて読みたい
Git GitHub CLIの導入と設定 【インストール】 Macではbrewでインストール可能です. brew install gh 【認証】 最初に自分のGitHubアカウントと連携するために認証します.何かしらの gh auth logi...

GitHubのリモートリポジトリを作成する

GitHub上のリポジトリの作成は以下の2種類があります.どちらか好きな方を選んでください.

  • ブラウザから作成する
  • GitHub CLIを使ってコマンドラインから作成する

ブラウザからリポジトリを新規作成する

GitHubにログイン後,New repositoryをクリックします.

プロジェクトの情報を入力してCreate repositoryボタンをクリックします.

  • Repository name: リポジトリの名称 Githubで自分のアカウント内でユニークである必要があります.
  • Description: プロジェクトの簡単な説明です.任意です.
  • プロジェクトの公開範囲:
    • Public プロジェクトが公開されます.
    • Private プロジェクトは自分自身しか見れません.

作成後に以下のようなURLが表示されます.リモートリポジトリにpushする際に必要になりますので,メモしておきます.

https://github.com/[user_name]/[repository_name].git

GitHub CLIでコマンドラインから作成する

GitHubにリポジトリを作成するには,gh repo create リポジトリ名コマンドを実行します.オプションは以下の通りです.gh repo create --helpでオプションの詳細を確認できます.

  • --description 説明文 リポジトリの説明文を記述します.
  • --public 公開リポジトリにします.
  • --private 非公開設定リポジトリにします.
  • --confirm 確認をスキップします.
# GitHubにリポジトリが作成されます.
% gh repo create sample --private --confirm --description "This is my sample repository."
✓ Created repository [username]/sample on GitHub
✓ Added remote git@github.com:[username]/sample.git

これでGitHub上にリポジトリが作成されていますので,Webブラウザから確認してみてください.

自分の端末にローカルリポジトリを作成する

自分の端末で,ローカルリポジトリ用のディレクトリを作成します.

mkdir gitsample
cd gitsample

ローカルリポジトリを作成します.

git init

以下のように表示されたら成功です.

Initialized empty Git repository in .../.git/

ファイルをローカルリポジトリに登録する

ローカルリポジトリに登録するためのファイルを作成します.

vi sample.txt

# sample.txtに記載する内容
Hello, Github!

作成したファイルをインデックスに追加します.インデックスに追加することでgitで管理する対象になります.

git add sample.txt

ファイルをローカルリポジトリに登録します.Initial Commitはコメントなので好きなコメントを入力してください.

git commit -m "Initial Commit"

以下のように表示されれば成功です.これでローカルリポジトリにsample.txtが登録されました.

[main (root-commit) ad01f6f] Initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 sample.txt

以上でローカルリポジトリへのファイルの登録は完了です.

GitHubのリモートリポジトリにpushする

gitのpushコマンドはローカルリポジトリの変更をリモートリポジトリに反映します.pushの前にgit remoteコマンドを使用してローカルリポジトリをリモートプロジェクトに追加します.

git remote add origin https://github.com/[user_name]/[repository_name].git

git pushコマンドでリモートリポジトリにローカルリポジトリの変更を反映します.ここでは,他のファイルもaddしていたため,14ファイルとなっています.

% git push origin main

# リポジトリに登録が成功しました.
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 8 threads
Compressing objects: 100% (10/10), done.
Writing objects: 100% (14/14), 1.78 KiB | 1.78 MiB/s, done.
Total 14 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/[username]/sample.git
 * [new branch]      main -> main

Webブラウザから対象のリポジトリにアクセスして,登録されていることを確認してみてください.

refspec エラーが出力される場合

git pushした時に以下のようなコマンドが表示される可能性があります.

% git push origin master

error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/txxx/xxx.git'

これは,github上に ブランチmasterが存在しない場合に表示されます.

Githubで新規にリポジトリを作成した場合,ブランチが自動的に作成されますが,時期によってブランチ名が異なります.

時期自動的に作成されるブランチ
2020年10月以前master
2020年10月以降main

2020年10月以降に作成されたプロジェクトの場合,自動的に作成されるブランチがmainになっていますので,pushする際にmainを指定する必要があります.

ブランチ名は,以下のコマンドで確認できます.

% git branch

ブランチ名がmainの場合,以下のように出力されます.

main

git pushした時にエラーが表示される場合 Support for password authentication was removed on August 13, 2021.

原因

GitHubへのpush等を行う際に,git push で行う場合にこのエラーが出力される場合があります.GitHubでは現在パスワードによる認証をサポートしていません.

対処法

対応としては,以下の2種類があります.

  1. GitHubの操作にgitコマンドを使用せず,GitHub CLIを用いる.こちらは本記事で前提としている方法です.
  2. GitHubの操作にgitコマンドを用いる.パスワードを使用せず個人用アクセストークンを使用する.

【対処法1】 GitHub CLIを用いる

以下のページを参考にGitHub CLIを導入します.

あわせて読みたい
Git GitHub CLIの導入と設定 【インストール】 Macではbrewでインストール可能です. brew install gh 【認証】 最初に自分のGitHubアカウントと連携するために認証します.何かしらの gh auth logi...

【対処法2】パスワードを使用せず個人用アクセストークンを使用する.

以下のぺージを参考に設定を変更します.

よかったらシェアしてね!
目次