(2021-12-04 初稿 - )
はじめに
git cloneは利用したことがあるが、自分の稚拙なスクリプト等をgitで管理しようとは思っていなかった。しかし、自分のページを見てくれて方が、ブログ内のスクリプト等をダウンロードするのに便利かと思い登録することにした。
すぐに使えるかと思ったが、2点ほどトラブルに見舞われたので、このページではその解決策を記載する。
基本的な使い方
このページでは、githubへの登録やgitの使い方にはついては、解説しない(手抜き(^^ゞ)。
以下のサイト等を参照し、チャレンジして欲しい。
- 今さら聞けない!GitHubの使い方【超初心者向け】 | TechAcademyマガジン
- 【超入門】初心者のためのGitとGitHubの使い方 - RAKUS Developers Blog | ラクス エンジニアブログ
上記の記述のとおり、手順は、まずgithubのアカウントを作成して、手元のPC(以下、ローカルPC)で以下の操作を行う。
ここでは、sampleというRipositoryを作成し、hello.pyというスクリプトを登録すると仮定する。
1. mkdir sample 2. cd sample 3. git init 4. git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) hello.py 5. git add hello.py 6. git status On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) new file: hello.html 7. git commit -m "add new file" 8. git status On branch master nothing to commit, working tree clean 9. git remote add origin https://github.com//awesome.git 10. git push origin master
エラーは、10でpushしたときに、以下のメッセージを出して起こる。
エラーメッセージ
Username for 'https://github.com': userid Password for 'https://userid@github.com': remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: Authentication failed for 'https://github.com/userid/sample.git/'
解決方法
解決方法は、以下のサイトにあった。多謝。
また、解決に必要なSSHの登録は、複数台のPCでgitを利用するためにも必要である。
実際の変更は、gitに含まれるconfigファイルを以下のとおり変更する。
cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://github.com:userid/sample.git # 変更前 url = git@github.com:userid/sample.git # 変更後 fetch = +refs/heads/*:refs/remotes/origin/*
ファイルの追加
該当ディレクトリにファイルを追加するときにもトラブルがあった。これは、筆者が知らないだけなのかも。
手順は、以下のとおり実施するが、4.のoriginを再度リモートに登録する必要はない。
1. git add hello2.py 2. git status On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) new file: hello2.py 3. git commit -m "add new file" [master ea42f6e] add new file 1 file changed, 16 insertions(+) create mode 100755 hello2.py 4. git remote add origin gttps://github/userid/rp-temphum.git # 不要 error: remote origin already exists. 5. git push origin master Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads >Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 478 bytes | 478.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To github.com:userid/sample.git c7221c7..ea42f6e master -> master
おわりに
はてなブログにコードを貼るには、Gistを利用する。Gistについては、別にアップする予定。