githubを使ってソースコードを最新に保っています.
お決まりのgit clone コマンドでクローンし編集しpushするという一連の流れです.
そのgit pushでパスワード認証を使っていたのですが,そのパスワード認証が廃止されました.
廃止された日は2021/08/13
めっちゃ最近じゃん.大学のテストなど諸々ありソースいじってなかったのもあって,最初エラーかと思いました.
【突然GitHubにpushできなくなった】 トークン生成で解決
詳しいことは上記リンクのサイトに書いてあります.
じゃあその解決策を記載していくよっと
必要になるのは個人アクセストークンなるもの.
それを簡単にいうと,道路の通行券みたいなものだと思います.
トークンがある方はアクセスして書き換えてもいいよー
みたいな?
違ってたら教えてください.
今回私が設定を行った際のバージョンは以下.
gitコマンド:git version 2.30.2
エディタ:viでもgeditでも
OS:Debian11 test版
gitのバージョンは以下のコマンドで確認可能^^
git --version
pythonとかと同じですね.特に覚えなくても良いでしょう.
githubの公式ページにアクセストークンの作成方法が記載されています.
文字だけで説明するのは難しいので,以下のリンクを参照.
github 個人アクセストークンを使用する
私は躓くことなく作成できました.
ここで注意.メールアドレス認証を完了していないと,作成を完了できません.
その辺りはしっかり行いましょう.
作成するときのポイントというか気をつけてほしいのは
トークンは複数作成可能だと考えられます.
複数作成可能でなければ名前をつける必要はありません.
なので,トークンの名前どんな権限でどういう時に使うことを想定しているトークンなのかを明確に名前にしておくといいと思います.
これでpushできるんだろ?
多分pushできるようになったと思うのでpushしてみましょう.
以下,ターミナル内.
Myname@MyPC:~$ git push
Username for 'https://github.com': Username
Password for 'https://Username@github.com':※※ここで作成したトークンを入力する※※
※※コピペで私は通りました※※
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 350 bytes | 350.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/hoge/hogehoge.git
c293e9e..ff0e8d3 Myname -> Myname
Enumerating objects:~~~~より下は皆さんのリモートレポジトリの内容によって表示は異なると思いますが,見慣れたgit pushの後の表示ですね.
いやまて,毎回コピペ必要じゃね?これ
そうなんです,毎回コピペしないとpushできません.
そんなだるい話ある?21世紀ですよ今は.
オリンピックだって開催されたし 関係ないだろ
毎回コピペしなくても済む方法もあるんですよ.
IDとパスワード共に省略する場合の設定です
IDだけ省略する方法もあるみたいだが,今回のPASSWDの省略の目的に沿っていないため却下
手順は以下の通り.ターミナルで作業していきます.
vi ~/.netrc
※ファイルが存在しなければ,touchコマンドで作成してください.
以下をnetrc内部に追記する.
machine github.com
login username
passwd 作成したトークン
私が作成したトークンは ghp_~~~~~~~~~~となっていました.
おそらく似たような名前であれば大丈夫でしょう.
私はこの手順でpushできるようになりました.