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】パスワードを使用せず個人用アクセストークンを使用する.

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

ブログランキングに参加しています。記事が役に立ったら是非クリックで応援お願いします。

  ブログランキング・にほんブログ村へ
よかったらシェアしてね!
目次