📦

GitHubアクセストークン認証

2022/08/14に公開

GitHub上にレポジトリを作成したので使用しているLinux(debian11)からpushしてみることにしました。

gitのインストール確認

まずはLinuxにgitがインストールされているか確認

git --versiion
2.30.2
既にインストールされていました。

初期設定

一度もgitを使用したことがないのでどのような設定がされているか確認

git config --list

なにも設定はない状態なので最低限必要と思われたユーザ名とメールアドレスを設定

git config --global user.name "xxxxxxx"
git config --global user.email "zzzzzzz@zzzzz.com"
git config --list
user.name=xxxxxxx
user.email=zzzzzzz@zzzzz.com

ローカルのデフォルトブランチをmainにするように設定を追加

git config --global init.defaultBranch main

ローカルレポジトリ作成&push

mkdir github_test
cd ./github_test/
echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/xxxx/yyyy.git
git push -u origin main

Username for 'https://github.com': xxxx
Password for 'https://xxxx@github.com':
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xxxx/yyyy.git/'

アクセストークン作成

GitHubメイン画面の右上(プロフィールアイコンが表示)->Settingsをクリック->左下のDeveloper settingsをクリック->左のPersonal access tokensをクリック->認証画面が表示するのでパスワードを入力

トークン情報



有効期限はとりあえず30日として今回は個人のプラべートなレポジトリへのアクセスなのでrepo、admin:repo_hook、delete_repoと高権限を選択しました。
最下部のGenerate tokenボタンをクリックし作成

アクセストークン認証

リモートレポジトリURL設定

アクセストークンを設定したURLで再度認証してみました。
リモートレポジトリへのURL(https://アクセストークン@github.com/ユーザ名/レポジトリ名.git
)を追加

git remote add origin https://アクセストークン@github.com/xxxx/yyyy.git
error: remote origin already exists.

既に設定済とエラーになりました、再設定の場合はset-urlでした

git remote set-url origin https://アクセストークン@github.com/xxxx/yyyy.git

リモートレポジトリにpush

git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 222 bytes | 74.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/xxxx/yyyy.git

  • [new branch] main -> main
    Branch 'main' set up to track remote branch 'main' from 'origin'.

成功したようでGitHubのメイン画面を確認すると今回pushしたREADME.mdを確認できました。

URLにアクセストークンを使用する場合GitHubと連携させるWEBアプリを作成する際はトークンが見えてしまうような作りにならないように考慮が必要かも。

リモートレポジトリから最新を取得

git pull origin main

2023/10/09 Notionに移行済み

Discussion