GitHub CLIをインストールする
GitHub CLIは,コマンドライン上でGitHubの操作を行えるコマンドラインツール群です.GitHubが公開しています.GitHb CLIを使うことで,GitHubへのpushやリポジトリを行うことが出来ます.
以下を参考にインストールします.
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種類があります.
- GitHubの操作にgitコマンドを使用せず,GitHub CLIを用いる.こちらは本記事で前提としている方法です.
- GitHubの操作にgitコマンドを用いる.パスワードを使用せず個人用アクセストークンを使用する.
【対処法1】 GitHub CLIを用いる
以下のページを参考にGitHub CLIを導入します.
【対処法2】パスワードを使用せず個人用アクセストークンを使用する.
以下のぺージを参考に設定を変更します.