20210917のGitに関する記事は7件です。

GitHubにpushできなくなった ~トークン生成で解決~

はじめに 久しぶりにローカルからGitHubにpushしたらエラーが吐かれた。 その際の解決方法について今回まとめることにしました。 エラー ターミナル 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/リポジトリ名.git/' エラー文を見ると、2021年8月13日にパスワード認証が廃止されたと記載されていた。 言われてみれば、1ヶ月前くらいにGitHubにアクセスするにパスワード認証が変更あったなと思い出した ターミナル 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. 要員 2021年8月13日からパスワード認証が廃止__ 今まではローカルでGitHubにアクセスするにパスワード認証を使用しておりましたが、脆弱性防止のために個人アクセストークン認証に変更。 <従来> ・GitHub ユーザー名 ・GitHub メールアドレス ・GitHub パスワード <従来> ・GitHub ユーザー名 ・GitHub メールアドレス ・GitHub 個人アクセストークン GitHubの個人アクセストークン作成方法 1.下記に個人アクセストークンを生成する手順が記載に沿って進めてください。 1.個人アクセストークンが生成後、トークンをコピーする。 ※セキュリティ上の理由から、ページから移動した後は、トークンを再表示できないので注意する。 GitHubとローカルの連携 ユーザー名登録 ターミナル $ git config --global user.name GitHubに登録のユーザー名 メールアドレス登録 ターミナル $ git config --global user.email GitHubに登録のメールアドレス GitHubにプッシュ ターミナル $ git push origin main パスワード入力が求められるので、先ほど控えた個人アクセストークンを入力 無事、プッシュ達成! エラー文に記載してあったので今回はすんなりと解決できてよかったです!!!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Git】あるPRから1部(中間)のコミットをmainに反映させたい

すでにStagingにmerge済みコミットの中から、中間のコミットだけを即座にmainブランチにmergeさせたい場合があった。中間のコミットを1つだけプッシュするには、 git cherry-pick で行うことができる。 結論 まずmainに移って、ローカルmainとリモートmainの差異をなくす $ git checkout main $ git pull origin main # ローカルブランチをリモートの状態に戻したい場合 $ git branch | grep '*' * main $ git reset --hard origin/main 全く新しいブランチを、新規で切る $ git checkout -b new-branch master mainに反映させたいコミットのハッシュで cherry-pick $ git cherry-pick コミットのハッシュ new-branch にpush $ git push origin new-branch => GitHubのUIから、main <= new-branch のPRを作ってmainに向けて新しいPRを作成する => mainにmerge 説明 A - B - C [main] \ D - E - F [feature] mainから新しいブランチを作成 $ git checkout -b new-branch main [new-branch] A - B - C [main] \ D - E - F [feature] (Cを指す新しいブランチラベルが作成された以外は何も変更されていないことに注意) 次に、Eをチェリーピックする。これにより、EがCの上に新しいコミットとしてコピーされる。競合が発生する可能性があるため通常どおり解決する。 $ git cherry-pick E E1 [new-branch] / A - B - C [main] \ D - E - F [feature] これでプッシュできnew-branch、E1のみがPRに含まれる。 https://qiita.com/muran001/items/dea2bbbaea1260098051 https://www.webdevqa.jp.net/ja/git/%E7%89%B9%E5%AE%9A%E3%81%AE%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%82%92%E3%80%8C%E3%83%97%E3%83%AB%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%80%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/1056172386/ https://www.atlassian.com/ja/git/tutorials/cherry-pick#:~:text=git%20cherry%2Dpick%20%E3%81%AF%E5%A4%89%E6%9B%B4,%E5%A0%B4%E6%89%80%E3%81%AB%E4%BB%98%E3%81%91%E6%9B%BF%E3%81%88%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82 https://www.sejuku.net/blog/71544
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

SSH接続の秘密鍵を作成、SourceTreeとGitHubを連携しプッシュするまで【初心者向け】

済ませておく Sourcetreeインストール  https://sukkiri.jp/technologies/devtools/git/sourcetree_win.html  ビットバケットアカウント作成 https://confluence.atlassian.com/jpns/faq/atlassian  GIthub登録 https://qiita.com/ayatokura/items/9eabb7ae20752e6dc79d  Git hubリポジトリ作成 https://docs.github.com/ja/github/getting-started-with-github/quickstart/create-a-repo  今まで、プログラム変更前にファイルの予備をコピーしたり、原始的なことをしてたので、初めてSourceTreeをインストール。 SourceTreeからgithubにプッシュした際、ハマってしまったので、備忘録。 上記URLのアカウント登録、SourceTreeアプリインストール、Githubリポジトリ作成済み前提。 <参考にさせてもらったサイト> Macで公開鍵を作成する ターミナルにて、下記コマンドを実行して、鍵を入れるフォルダに移動します。 $cd ~/.ssh もし、/.ssh: No such file or directoryと出たら、sshディレクトリがないので作成する。 次のコマンドでフォルダを作成します。 $mkdir ~/.ssh lsコマンドでこのディレクトリに何もないことを確認します。 $ls そのままターミナルで編集する方法 vim ~/.ssh 抜けるとき i で編集開始、Escで終了 :wq 編集した内容を開いているファイルに保存して終了:q! 編集していても保存せずに強制終了 あったら削除するか、登録するときに上書きできる。 自分はそのままにして上書きした。 次に以下のコマンドで鍵を生成します。 $ssh-keygen -t rsa 実行すると以下の3つのことを聞かれます。 - 鍵ファイルを保存するフォルダの名前 - パスフレーズ - パスフレーズ(確認用) すべて Enterを押しても構いません この後に下記のコマンドを入力して~/.sshの中身をみてください。 $ls すると次のような2つのファイルが作成されているのが確認できます。(先程、名前を設定していればそれが表示されます) id_rsa id_rsa.pub id_rsaファイルが秘密鍵ファイルです。 id_rsa.pubファイルが公開鍵ファイルです。 生成した公開鍵の内容は次のコマンドで確認できます。 cat ~/.ssh/id_rsa.pub <各OS別公開鍵登録方法> https://ja.confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html  macOS の場合、次のコマンドを使用して出力をクリップボードにコピーします。 $ pbcopy < ~/.ssh/id_rsa.pub bitbucketに公開鍵を登録する キーの出力を選択してクリップボードにコピーします。コピー アンド ペーストがうまくできない場合は、ノートパッドでファイルを直接開くことができます。ファイルの内容を選択します (ファイル終了記号を選択しないようにご注意ください)。 Bitbucket で [キーの追加] をクリックします。 新しいキーの [ラベル] を入力します (例: Default public key) コピーした公開キーを [SSH キー] フィールドに貼り付けます 貼り付けると、最後の行にメール アドレスが表示される場合があります。キーにはメール アドレスを任意で含めます [保存] をクリックします。 Bitbucket からキーの追加を確認するメールがユーザーに送信されます。 ターミナル ウィンドウに戻り、次のコマンドを入力して構成とユーザー名を確認します。 $ ssh -T git@bitbucket.org そのキーを使用してログインできる Bitbucket アカウントが表示されます。 conq: logged in as emmap1. You can use git or hg to connect to Bitbucket. Shell access is disabled. GitHubに公開鍵を登録する <参考ページ> https://qiita.com/shizuma/items/2b2f873a0034839e47ce  アカウントからSSH設定画面へいく。 画面右上の「Add SSH key」のボタンを押します。 「title」に公開鍵名、「key」に公開鍵の中身を入れます。 なお、鍵の中身のクリップボードへのコピーは $ pbcopy < ~/.ssh/id_rsa.pub (Mac) $ clip < ~/.ssh/id_rsa.pub (Windows) *鍵の名前は自分の作成したもの。 接続を確かめる $ ssh -T git@github.com で返ってきたら接続完了! Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access. SourceTreeの環境設定からアカウントを追加する Sourcetreeアカウントを設定する 認証タイプをBasic プロトコルをSSHにする パスワードを入力して保存する。 リモートを追加する リモートを追加する アプリのリポジトリからリモートを追加画面へ リモートの名前を入力 URL/パスは、Git hubで作成したリポジトリのSSH URLを入力してOK あとはコミットしたファイルを選択してプッシュ。 Githubにファイルが反映されたら連携完了です。 お疲れ様でした! Gitめっちゃ便利。。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WSL2上で動くUbuntuのプロンプトにGitブランチ情報を表示する

こちらの記事を参考にさせていただきました vi ~/.bashrc ~/.bashrc if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(\__git_ps1)\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(\__git_ps1)\$ ' fi ・・・(省略) GIT_PS1_SHOWDIRTYSTATE=true #GIT_PS1_SHOWUPSTREAM=1 GIT_PS1_SHOWUNTRACKEDFILES=1 GIT_PS1_SHOWSTASHSTATE=1 PS1の設定箇所に$(\__git_ps1)を追加します GIT_PS1_SHOW~で編集時の表示オプションを指定できます ↓のような感じで表示されます {user}@{machine}:{dir} (master)$ オプションの説明 GIT_PS1_SHOWDIRTYSTATEを指定すると、を変更ファイルが存在する場合に*が表示されます (master *)$ GIT_PS1_SHOWUNTRACKEDFILES=1を指定すると、追加ファイルが存在する場合に%が表示されます (master %)$ GIT_PS1_SHOWSTASHSTATE=1を指定すると、git stashしている場合に$が表示されます (master $)$
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[GitHub]個人アクセストークンの期限切れと更新作業

はじめに 事の発端は同僚からの、 「アクセストークン期限切れし再作成したがpushができない」との相談を受けことに始まります。 自分のアクセストークンの期限を確認したら期限切れまで1週間切っていたので、 ついでにアクセストークンの再作成とパスワード再設定をやり、 そこで参照したいろんな記事の集約+αでまとめてみました。 結論といたしましては、 2021年8月13日にパスワード認証が廃止されたことに伴い行なったであろう、 個人アクセストークンの再作成 & 認証情報の削除と再登録を行う感じです。 Personal Access Tokenの有効期限 ■設定した個人アクセストークンの期限は以下設定画面から確認できます。  Personal access tokens  期限切れが近い時は、「⚠️Expires on 日付」と注意喚起マーク付きの表示になっています。  今回は解説用にテストトークンを作成しました。 ■更新の必要がある方は、1週間前に登録アドレス宛にの期限が近い旨、  通知メールが届いているかと思います。 作業 ①トークンの期日設定と再作成 期限の近いトークンの「⚠️Expires…」 をクリックし設定画面へ移動。 任意の期限(Expiration)を設定し、トークンを再作成(Regenerate token)しましょう。 蛇足的ですが、ページ移動後再表示ができない為、 作成した際に表示された個人アクセストークンは必ずコピーしておきましょう!! No Expiration(無期限)は注意 有効期限に設定項目にNo Expiration(無期限)もありますが、選択すると注意喚起が表示されます。  無期限の危険性については、改めて書き加える予定ですが、  現時点では漏洩リスクなどセキュリティ面で危険、くらいの認識でもいいと思います。  通常はPJの期間内のみに設定することなどが多いんじゃないかと推測します。 ②認証情報の削除と再登録 ■macユーザー キーチェーンアクセスからgithub.com(インターネットパスワード)を削除。 Webフォームパスワード削除の必要はありません。 SourceTreeを使用している方は github.com Access Key for… も削除しましょう。 検索窓にgit,githubなど入力しても出てこない時は、 スクロールして探してみてください!検索に引っかからない事象も確認しました。 ここを削除しないで、トークンの再作成のみだとプッシュした際に remote: Invalid username or password. のような表示が出ると思います。 任意のコミットをプッシュした際に、ユーザー名とパスワードを求められるので、 パスワードにコピーしておいたトークンを入力し完了です! ソースツリーについてもプッシュ時にパスワードを求められますので、 コピーしたトークンを入力すればOKです。 いやいや、pushできないんですけど!って方いたら キーチェーンの削除しようとしたけど検索しても、スクロールで探してもなかった!って話を聞きました。 キーチェーンに出てこない原因は筆者にも分かりかねます。 分かりかねますが、時間が少し時間を空けたら問題なくできたとのことでしたので、 一旦放置するか再起動でもしましょう。反映まで時間がかかるのか不明ですが、 時間が解決してくれたはたまにあります( ゚д゚)ナンデナン もし原因や解決法が分かった時は、コメント頂けたら幸いです! 同様の症状に悩む方の為に記事の更新を行います。 (ユーザー名とメールの再登録は不要だと思いますが、うまくいかない時はそこからやるのもありです) ■Windousユーザー windowsを使用していないので実施検証できておらず詳細不明ですが、 暫定で以下記事を参考に実施してみてください。 この記事でできたヨ!みたいな連絡貰えると嬉しいです!  最後に 以上、パーソナルアクセストークンの更新についてのまとめとなります。 エラーが出た時がなんだかんだ一番楽しいかもしれないと感じた筆者でした( ˘ω˘ )エラーカイケツガスッキ あとGitHub blogsやGitHub Docsを見るのも楽しいです! 上手くいかない時はエラーで検索、ドキュメントを読むなどの他、twitterで事象が全体で起きているのか他に同じことで悩んでいる人がいないか調べるのもいいです。解決策あったりなかったり。 参考記事 Token authentication requirements for API and Git operations [GitHub] Personal Access Tokenの有効期限を設定できるようになっていました 【突然GitHubにpushできなくなった】 トークン生成で解決:The requested URL returned error: 403
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[GitHub]パーソナルアクセストークンの期限切れと更新作業

はじめに 事の発端は同僚からの、 「アクセストークン期限切れし再作成したがpushができない」との相談を受けことに始まります。 自分のパーソナルアクセストークン(以降、PAT)の期限を確認したら期限切れまで1週間切っていたので、 ついでに再作成とパスワード再設定をやり、 そこで参照したいろんな記事の集約+αでまとめてみました。 結論といたしましては、 2021年8月13日にパスワード認証が廃止されたことに伴い行なったであろう、 PATの再作成 & 認証情報の削除と再登録を行う感じです。 [用語] 個人アクセストークン = パーソナルアクセストークン = PAT Personal Access Tokenの有効期限 ■設定したPATの期限は以下設定画面から確認できます。  Personal access tokens  期限切れが近い時は、「⚠️Expires on 日付」と注意喚起マーク付きの表示になっています。  今回は解説用にテストトークンを作成しました。 ■更新の必要がある方は、1週間前に登録アドレス宛にの期限が近い旨、  通知メールが届いているかと思います。 作業 ①トークンの期日設定と再作成 期限の近いトークンの「⚠️Expires…」 をクリックし設定画面へ移動。 任意の期限(Expiration)を設定し、トークンを再作成(Regenerate token)しましょう。 蛇足的ですが、ページ移動後再表示ができない為、 作成した際に表示されたPATは必ずコピーしておきましょう!! No Expiration(無期限)は注意 有効期限に設定項目にNo Expiration(無期限)もありますが、選択すると注意喚起が表示されます。  無期限の危険性については、改めて書き加える予定ですが、  現時点では漏洩リスクなどセキュリティ面で危険、くらいの認識でもいいと思います。  通常はPJの期間内のみに設定することなどが多いんじゃないかと推測します。 ②認証情報の削除と再登録 ■macユーザー キーチェーンアクセスからgithub.com(インターネットパスワード)を削除。 Webフォームパスワード削除の必要はありません。 SourceTreeを使用している方は github.com Access Key for… も削除しましょう。 検索窓にgit,githubなど入力しても出てこない時は、 スクロールして探してみてください!検索に引っかからない事象も確認しました。 また、検索で出たのに削除ができない場合も同様です。スクロールし、見つけたものを削除してみてください。 ここを削除しないで、PATの再作成のみだとプッシュした際に remote: Invalid username or password. のような表示が出ると思います。 任意のコミットをプッシュした際に、ユーザー名とパスワードを求められるので、 パスワードにコピーしておいたトークンを入力し完了です! ソースツリーについてもプッシュ時にパスワードを求められますので、 コピーしたPATを入力すればOKです。 いやいや、pushできないんですけど!って方いたら キーチェーンの削除しようとしたけど検索しても、スクロールで探してもなかった!って話を聞きました。 キーチェーンに出てこない原因は筆者にも分かりかねます。 分かりかねますが、時間が少し時間を空けたら問題なくできたとのことでしたので、 一旦放置するか再起動でもしましょう。反映まで時間がかかるのか不明ですが、 時間が解決してくれたはたまにあります( ゚д゚)ナンデナン もし原因や解決法が分かった時は、コメント頂けたら幸いです! 同様の症状に悩む方の為に記事の更新を行います。 (ユーザー名とメールの再登録は不要だと思いますが、うまくいかない時はそこからやるのもありです) 削除しないで更新する方法 → 2021年9月17日追記 キーチェーンアクセスからパスワードの更新もできたので、追記します。 パスワードを表示のチェックボックスをクリックすると、パスワードを求められます。 ここのパスワードはMacにログインするときのパスワードと同じでした。 また、下記PASSも求められる場合があります。(画像はSourceTreeのキーチェーン情報です) アクセス許可が済むと、 現在設定しているPATが表示されるので、 そこを書き直して変更内容を保存します。 その後プッシュした際にアクセス許可を再度求められます。 SouceTreeについてはアクセス許可と再度PATを入力する必要が出るので、 作業量にあまり差がないです。 方法がいくつかあるということだけ覚えておいてください。 ■Windousユーザー windowsを使用していないので実施検証できておらず詳細不明ですが、 暫定で以下記事を参考に実施してみてください。 この記事でできたヨ!みたいな連絡貰えると嬉しいです! 余談 PAT(パーソナルアクセストークン)って略して記述してある記事もあるけど、略語って事前に略しますって宣言されてないと初めて読むときに面倒だなとちょっと思いました。 JSやCSSで命名するときは略語を使いすぎないよう気をつけようとも改めて思いました。 また、git config --global でユーザー名やメールの再登録をしている記事がありましたが、 キーチェーンの削除をしてもgitconfigに記述されているものは削除されませんでしたので、 再度コマンドを打つ必要はないんじゃないかなと思いました。 キーチェーンの削除はあくまでパスワードの削除のみ、ということになります。 ただ、全体のリポジトリでユーザー名やメールの登録をし直したい場合は、必要でしょう。 最後に 以上、パーソナルアクセストークンの更新についてのまとめとなります。 エラーが出た時がなんだかんだ一番楽しいかもしれないと感じた筆者でした( ˘ω˘ )エラーカイケツガスッキ あとGitHub blogsやGitHub Docsを見るのも楽しいです! 上手くいかない時はエラーで検索、ドキュメントを読むなどの他、twitterで事象が全体で起きているのか他に同じことで悩んでいる人がいないか調べるのもいいです。解決策あったりなかったり。 参考記事 Token authentication requirements for API and Git operations [GitHub] Personal Access Tokenの有効期限を設定できるようになっていました 【突然GitHubにpushできなくなった】 トークン生成で解決:The requested URL returned error: 403 更新情報 2021年9月17日 キーチェーンの削除をしないでPATを差し替える方法を追記。 パーソナルアクセストークンをPATに省略と、用語として記載。 余談を追加。 タイトルを変更。(個人アクセストークン→パーソナルアクセストークン)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

rails newしてからsourcetreeを用いたGitの管理方法

CLIは初心者殺し 誰しも最初に思うこと ターミナルでコマンド打ちながらGit管理するの普通に無理。 最近Gitについておぼろげながら理解してきたけど、初心者はGUIを用いて管理した方が精神衛生上良い。異論は認める。 なんとなく理解できてきたのはsourcetreeくんのおかげと言っても過言ではない。 この記事では、初心者向けにsourcetreeを用いたGitの管理手順をザックリとご紹介します。 あくまでも個人的なやり方なので、参考程度に。 rails newからsourcetreeとGitHubの紐付けまで プロジェクトを作成 rails new 任意名 (バージョンを指定しながらnewをするには以下を実行する rails _6.0.4.1_ new 任意名 ) ディレクトリをVSCodeで開く code . sourcetreeを開いて「メニューバー→開く」からディレクトリを参照 全てのファイルを選択してコミット initial commit GitHubで新規リポジトリを作成「プロジェクト名→ディスクリプション→create」 リポジトリのSSHをコピー sourcetreeを開き「設定→リモート→追加」から、リモートの名前:origin・URL/パス:コピーしたSSHとする mainブランチを右クリックしてoriginにプッシュ GitHubを開いてリポジトリにRailsのファイル群が追加されていれば完了 おわり これでハッカーが使う黒い画面()を触らなくてもGUIで管理できるよ。 みんなも毎日一緒に草を生やそうね。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む