GitHubアクセストークン認証
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 mainUsername 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