Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

GitHub にて、「HTTPS」を使ったプルリクエストの操作を再確認〈H163〉

登録日: 2023-01-14 更新日: 2023-01-14

GitHub において、リポジトリ画面にある緑色の「Code」ボタンで、「SSH」の URL の表示が消えて、 「HTTPS」と「GitHub CLI」だけが表示されます。GitHub の変更があった?のかな。

-

GitHub の認証が 2段階認証に強化されてからは「SSH」の URL で使っていました。 「SSH」の URL が表示されないので、これからは「HTTPS」か、「GitHub CLI」での使用になります。

ただし、「HTTPS」での使用は、ダウンロードは別にして、「git push」の時に GitHub のアカウントのパスワードを使っての認証は出来ないはずです。強化後、どのような仕組みに変更されたかは未確認。

-

Xubuntu 22.04.1 LTS」に本番移行後、「git」や「SSH」接続できる環境に設定していません。 それらの準備も兼ね、自身の GitHubリポジトリに「git push」して確認してみました。

その備忘録です。

-

追記:

後でわかったのですが、GitHub のサイトで「SSH」接続の表示がなかったのは、勘違いで、単に GitHub に「サインイン」していなかったからと判明。久しぶりに使ったので忘れたみたい。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. 「GitHub」のアカウントを作成:

  2. 「リポジトリ」を作成:

  3. 「Git」コマンドのインストール:

  4. 「リポジトリ」をクローン:

  5. ソースファイルを修正:

  6. 「git push」:

  7. ブラウザで「プルリクエスト」:

  8. 参考: 「パーソナル アクセス トークン」の作成:

  9. 参考: 自身の GitHub の「リポジトリ」を「公開」 →「非公開」に変更:

  10. 参考: 「SSH」接続するときの設定:

-

「まとめ へ」

-

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS での操作:

-

自身で作成した「リポジトリ」で、プルリクエストなどの操作を確認:

-

→ファイルを追加するなら、プルリクエスト後に、自分でマージ。
編集なら、ブラウザの「えんぴつ」アイコンで編集できました。フォルダでカテゴリ分けすると良いかも。

-

リポジトリ名の横が(Private)になっていることに注目:

最近は、以前と違い、「非公開」に変更しても GitHub を「無料」で利用できます。

運用の仕方を確認するため、「公開」(Public)から「非公開」(Private)に変更しました。
ライセンスなどを気にせず、気軽に修正や画像も含めたアップロードができるのが利点。

→サインインしないと(できないと)、自分も含め見れません。

よく使うなら、ブラウザのブックマークに登録すると楽。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --

「git」コマンドと「GitHub」:

-

共有されるファイルの格納場所を「リポジトリ」と呼びます。

共有するためにサーバーに置いた「リモートリポジトリ」と、ファイルの更新のために自分のPC に置いた「ローカルリポジトリ」があります。

-

「git」コマンドは、ソースファイルなどの変更内容を管理するためのツールです。

「git」コマンドを使った「Web サービス」のひとつが「GitHub」で、 Web に Git のリポジトリを作成して、ソースコードなどの「バージョン管理」が行えます。

-

参考:

作業別Gitコマンド集

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ---

1. 「GitHub」のアカウントを作成:

-

すでに、GitHub のアカウントを持っているなら、作業は要りません。

-

GitHub のアカウントを作成:

-

1). ブラウザで、「https://github.com/login」を開きます

-

2). 「Create an account.」をクリック

→「アカウント登録」画面表示:

-

3). 「Enter your email」に、「メールアドレス」を入力:

→「Continue」をクリック

-

4). 「Create a password」に、「パスワード」を入力:

→「Continue」をクリック

-

5). 「Enter a username」に、「ユーザ名」を入力:

→「Continue」をクリック

-

6). 「Would you like to receive product updates and announcements via email?」

(お知らせなどをメールで受け取るかの確認)

→「n」

-

7). 「Verify your account」(ロボットではないかの確認)

→「検証する」をクリック

-

指示通りに選択:

→「Create account」ボタンを押せるようになります。

-

8). 「Create account」ボタンをクリック

→「コードの入力」待ちの画面になります。

-

9). 設定したメールアドレスにメールが送られます:

→送られてきたメールで「コード」を確認して、「コードの入力」待ちの画面に貼り付け

-

10). How many team members will be working with you?

(何人のチームメンバーがあなたと一緒に仕事をしますか?)

→任意に選択

-

11). Are you a student or teacher?

(あなたは学生ですか、教師ですか?)

選択しても、しなくてもいいです。

→「Continue」をクリック

-

12). what specific features are you interesfed in using?

(どの機能を使用しますか?)

→全てにチェック

→「Continue」をクリック

-

13). 「Free」プランと「Enterprise」プランを選択する画面:

→「Free」プランを選びました。

-

注意: 「料金プラン」により「パブリック」(公開した)リポジトリのみでしか利用出来ない機能があります。

-

14). 「ダッシュボード」が表示:

→アカウント作成完了

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----

2. 自身の GitHub の「リポジトリ」を作成:

-

上記の作業の続きです。「リポジトリ」は「フォーク」したときに自動で作られるので、「プルリクエスト」するだけなら、作らなくても支障なし。

-

個人的に GitHub の操作の確認ができるように、ひとつ作りました。

-

リポジトリを作成:

-

1). 左にある「Create repository」(リポジトリ作成)ボタンをクリック

→「リポジトリの情報入力」画面が表示:

-

2). 「repository name」に、リポジトリの名前を入力

リポジトリ名は、ソースコードを格納するリポジトリの URL に含まれます。

-

3). 「Description」に、リポジトリの説明を入力

-

4). 「リポジトリ」の種類を選択:
  • 「Public」 : Web に公開されます。誰でも閲覧でき、公開する内容によって、リスクや責任が伴いますが、情報を共有できるのが利点。

  • 「Private 」: 公開せずに個人で気軽に使いたい場合や、公開しない開発をチームで行う場合に選択。

リポジトリの作成後にリポジトリに招待する形で、他のユーザの追加ができます。

注意: 「料金プラン」により「パブリック」(公開した)リポジトリのみでしか利用出来ない機能があります。

-

5). リポジトリに「README」を追加するかを選択:

README.md は、プロジェクトの概要や使い方などの説明を記述しておく、GitHub 形式の「マークダウン」で書かれたテキストファイルです。(形式とは、サポートされている見え方の決まりごと)

リポジトリを開いたときに、README.md が表示されます。

→追加したいので、チェック

-

6). 「.gitignore」ファイルを追加するかを選択:

「.gitignore」は git にコミットして管理したくないファイルを記述するためのファイルです。

いろいろなフレームワークなどの初期テンプレートを選ぶことが可能です。

→追加しないので、「None」

-

7). 公開する場合は、ソースコードの「ライセンス」を選択:

→「None」

-

8). 「Create Repository」ボタンをクリック

-

9). 自身のアカウントのGitHub の「リポジトリ」が作成されました:

入力したリポジトリ名で「リポジトリ」が作成されました。

(設定でチェックしたので)README ファイルが表示されます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - -----

3. 「Git」コマンドのインストール:

-

クローンを作成するPC で作業しました。

-

1). Git のインストール:

$ sudo apt install git
:
提案パッケージ:
  git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk
  gitweb git-cvs git-mediawiki git-svn
以下のパッケージが新たにインストールされます:
  git git-man liberror-perl

GUI で git log を表示できる「gitk」は一緒に入らないみたい。あると学習に便利。

-

2). インストールされたかの確認:

$ git --version
git version 2.34.1

-

3). Git の初期設定:

やり方:

$ git config --global user.name "GitHub に登録したユーザ名"
$ git config --global user.email "GitHub に登録したメールアドレス"

-

設定:

$ git config --global user.name "xxx1234"
$ git config --global user.email "xxx1234@xmail.com"

→「--global」を付けないと記録されず、その場限りの設定になります。
なので、その都度設定が必要です。

-

4). Git の初期設定の確認:

$ git config -l
user.name=xxx1234
user.email=xxx1234@xmail.com

→「-l」は、小文字のエル

-

5). 参考: 下記の設定ファイルが作成されました:

$ cat ~/.gitconfig
[user]
    name = xxx1234
    email = xxx1234@xmail.com
[core]
    whitespace = cr-at-eol

-

参考: 「whitespace = cr-at-eol」は、下記のコマンドで追記しました:

$ git config --global core.whitespace cr-at-eol

→git diff で変更箇所の行末に「^M」が表示されるときの回避策です。

-

6). GitHub の「サインイン」時に、GitHub のアカウントの作成で指定した「パスワード」が必要です:

メモしておきます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

4. 作成した、自身の GitHub の「リポジトリ」で、クローン:

-

いきなり本番で「git」コマンドを使うのは難しいしリスクが高いので、 自身の GitHub の「リポジトリ」を使って、クローンやアップロードなどの「リポジトリ」操作を確認:

-

今回は、「git push」する時に認証がどうなるのかに注目。

うまく動かないときは、「GitHub CLI」などへの移行等が必要かも。

-

1). プルリクエスト用のフォルダを準備:

フォルダ名は任意です:

$ mkdir -p  ~/Git
$ cd ~/Git/
~/Git$

→フォルダ名はプロンプトに含まれるので、短くてわかりやすい名前にしました。

-

2). 対象の「GitHubリポジトリ」(GitHub の該当サイト)をブラウザで開きました:

→作成した、自身の GitHub の「リポジトリ」で確認してください:

-

例: GitHub: FuRuYa7/furuichi (現在は非公開なので表示されません)

-

参考: 自身でなく、他人の「リポジトリ」に「プルリクエスト」する場合は、

できるだけリスクを避けるため、

GitHub にサインイン後、対象の「リポジトリ」のURL を開いて、右上の「Fork」ボタンをクリック

フォークされた「リポジトリ」が、自身のリポジトリとして自動で作成され、それが開くので、そこで作業します。

→フォークしておけば、最悪は、フォークされた「リポジトリ」を削除するだけで済みます。

-

3). 「HTTPS」を使い、Clone する時のURL を確認:

オンライン画面にある緑色の「Code」ボタンをクリック

「Local」タブの、「HTTPS」をクリック

「コピー」アイコンをクリックすると、クリップボードに URL がコピーされます。

必要なところで右クリック →貼付け:

https://github.com/FuRuYa7/furuichi.git

-

4). 最新のソースをローカルに入手:

URL に、上記でコピーした、自身の GitHub の「リポジトリ」の URL を貼付けます:

$ cd ~/Git/
$ git clone https://github.com/FuRuYa7/furuichi.git
:
Cloning into 'furuichi'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Receiving objects: 100% (26/26), 4.98 KiB | 4.98 MiB/s, done.
Resolving deltas: 100% (4/4), done.

-

参考: 「非公開」のリポジトリをクローンした場合:
$ cd ~/Git/
$ git clone https://github.com/FuRuYa7/furuichi.git
:
Cloning into 'furuichi'...
Username for 'https://github.com': FuRuYa7
Password for 'https://FuRuYa7@github.com': 

→パスワードの入力待ち:

remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/FuRuYa7/furuichi.git/'

→ユーザ名、または、パスワードを間違えると終了

もしかしたら、GitHub のパスワードではダメで、「パーソナル アクセス トークン」(後述)が必要かもしれません。

-

5). クローンで作成された、ディレクトリに移動:

$ cd ~/Git/furuichi/

$ ls -a
:
.  ..  .git  README.md  git-test.md

→デフォルトは「README.md」のみ。「git-test.md」は以前追加したファイルです。

-

6). ブランチの確認:

$ git status
:
ブランチ master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

→master ブランチで空です。

-

7). ブランチ一覧を表示:

$ git branch
:
* master

-

8). タグの一覧を表示:

$ git tag
$

→タグはなし。タグはリリース管理しやすくするためのもの。

-

9). プルリクエスト用に Branch「develop」を作成して、同時にチェックアウト:

自身の GitHub の「リポジトリ」で作業するのなら、本来は要りません。

今回は、他人の「リポジトリ」(フォークで持ってきた「リポジトリ」)に「プルリクエスト」するときの操作として、行いました:

-

ここで作成するブランチ名は任意(慣習名)です:

$ git checkout -b develop
:
Switched to a new branch 'develop'

-

10). ブランチの確認:

$ git branch
:
* develop
  master

→アクセスできるところ(ブランチ)が変わりました。
「HEAD detached」になっていないことを確認。 ←ポインタがズレて良好ではない状態

-

11). ステータスの確認:

$ git status
:
ブランチ develop
nothing to commit, working tree clean

→どのファイルも修正されていない状態。

-

12). ログ(コミット履歴)の確認:

$ git log
:
commit a7eff0d56ff01b596aa5156c357965e0e0b36266 (HEAD -> develop, origin/master, origin/HEAD, master)
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>  ←(ブラウザ上で直接編集)
Date:   Tue Dec 25 13:16:56 2018 +0900

    Update git-test.md
    
    Markdown test.

: (省略)

commit 3bedd645c9f8c6fd207353232e4be3b8da282385
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>  ←(ブラウザ上で直接編集)
Date:   Mon Dec 24 12:59:27 2018 +0900

    Update README.md
    
    test commit.

commit 9f9ae5b0f35be0ce9458ea71e243febc852a2bf9
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Mon Dec 24 11:12:31 2018 +0900

    Initial commit
(END)

「q」で表示が終了

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

5. ソースファイルを修正:

-


1). ソースを修正:

  • 変更(diff)を少なくするため、さわるファイルは最小限にします。

-

今回、修正したのは 3つのファイルです。日時で更新を確認:
$ git status
:
ブランチ develop
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   README.md
    modified:   git-test.md

追跡されていないファイル:
  (use "git add <file>..." to include in what will be committed)
    markdown.nanorc

no changes added to commit (use "git add" and/or "git commit -a")

→3つのファイルが赤色で表示:

modified:   README.md(修正)
modified:   git-test.md(修正)
markdown.nanorc(新規追加)

→修正したファイルがあれば OK。 それ以外のファイルがあるときはエディタの設定に注意。エディタで自動で作られたテンポラリやバックアップがあったら削除します。

-

2). 修正内容の確認:

$ git diff
:
diff --git a/README.md b/README.md
index ab33fe8..65cd1bb 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 ---
 2018-12-24  運用開始
 
+2023-01-10  GitHub で「SSH」タブの表示がなくなってからの、プルリクエストを再確認
  
diff --git a/git-test.md b/git-test.md
index ea21f6b..a30b2df 100644
--- a/git-test.md
+++ b/git-test.md
@@ -1,45 +1,43 @@
-# Hello World (furuichi)

 : (省略)

(END)

「q」で表示が終了

→新規ファイルの「markdown.nanorc」は、追跡されていないファイル(git の管理外)なので、変更があっても差分は表示されません。

-

3). 参考: git diff で行末に「^M」表示する場合の対処:

例:

+#include <QPainterPath>^M

追加した行にゴミが付きます。CR コードだと思いますが、削除できず。

-

対処:

行末のキャリッジリターンを許容:

$ git config --global core.whitespace cr-at-eol

-

4). 早めに、コミットで使う「英文」を考えておきます:

表題:
Checking pull requests after the "SSH" tab disappears on GitHub:

和訳: GitHub で「SSH」タブが消えた後のプルリクエストの確認:

-

後で付け加える、コメントの内容:

今回は、なし

-


5). 編集したファイルを add:

  • 「編集エリア」(working tree) から「ステージングエリア」に移します。
$ git add -A

もしくは、

$ git add --all

-

$ git status
:
ブランチ develop
コミット予定の変更点:
  (use "git restore --staged <file>..." to unstage)
    modified:   README.md
    modified:   git-test.md
    new file:   markdown.nanorc

→すべてのファイル名が緑色に変わりました。

-

参考: 直前に操作した、「git add」をやり直す場合:
$ git restore --staged README.md git-test.md markdown.nanorc

→やり直すファイルを指定できます。

-

6). ステージングエリアでの差分の表示:

$ git diff --cached

「q」で表示を終了

-

7). 編集したファイルを commit:

「ステージングエリア」から「本番エリア」に移します:
$ git commit -m 'Checking pull requests after the "SSH" tab disappears on GitHub:'
:
[develop 99436ce] Checking pull requests after the "SSH" tab disappears on GitHub:
 3 files changed, 98 insertions(+), 45 deletions(-)
 rewrite git-test.md (97%)
 create mode 100644 markdown.nanorc

→「-m」で、準備した「英文」を加えてコミットしました。

-

「-m」でメッセージを付加しない場合は、設定されているエディタ(vi または nano)が起動します。

-

8). コミットの履歴を確認:

$ git log
:
commit 99436ce8c816c611e6f1971682481c1769287758 (HEAD -> develop)
Author: FuRuYa7 <xxx1234@xmail.com>      ←(今回のコミット)
Date:   Tue Jan 10 02:40:27 2023 +0900

    Checking pull requests after the "SSH" tab disappears on GitHub: ←(コミットの英文)

commit a7eff0d56ff01b596aa5156c357965e0e0b36266 (origin/master, origin/HEAD, master)
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Tue Dec 25 13:16:56 2018 +0900

    Update git-test.md
    
    Markdown test.
:

「q」で表示を終了

-


9). 最新のコミットと差分を 1件だけ表示:

$ git show
:
commit 99436ce8c816c611e6f1971682481c1769287758 (HEAD -> develop)
Author: FuRuYa7 <xxx1234@xmail.com>
Date:   Tue Jan 10 02:40:27 2023 +0900

    Checking pull requests after the "SSH" tab disappears on GitHub:

diff --git a/README.md b/README.md
index ab33fe8..65cd1bb 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 ---
 2018-12-24  運用開始
 
+2023-01-10  GitHub で「SSH」タブの表示がなくなってからの、プルリクエストを再確認

「q」で表示を終了

-

$ git status
:
ブランチ develop
nothing to commit, working tree clean

→コミットすると、表示が消えます。

-

$ git branch
:
* develop
  master

-

10). GitHub アカウントにサインイン

ブラウザで、下記が開いているはず:

対象の「GitHubリポジトリ」(GitHub の該当サイト)をフォークした、自身の「リポジトリ」:

例:

GitHub: FuRuYa7/furuichi

→現在は「非公開」なので、サインインしていないと見れないと思います。

-

右上の「横3本線」アイコンをクリック →「Sign in」→サインイン画面:

GitHub アカウントのメールアドレスとパスワードを入力

→ 「Device Verification Code」が表示されました。

メールアドレスに送信されたコードを、上記に貼り付けると、サインインできました。(2段階認証)

-

→サインインされると、右上の「横3本線」アイコンの部分に自分が登録した、自分のアイコン(アバター)が表示されます。(上記の画像)

-


11). ブランチ「develop」から、GitHub上のブランチ「origin」に push:

ローカルで編集したリポジトリをオンライン上に渡します:

$ git push origin develop
:
Username for 'https://github.com': xxx1234  ←(ユーザ名入力)
Password for 'https://xxx1234@github.com':  ←(GitHub アカウントのパスワード入力)
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/FuRuYa7/furuichi.git/'

-

和訳:

リモート: 2021年 8月13日にパスワード認証のサポートが削除されました。
リモート: 現在推奨されている認証モードについては、https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls を参照してください。
致命的: 'https://github.com/FuRuYa7/furuichi.git/' の認証に失敗しました

→やっぱり、認証するときに失敗しました。

-


12). 対応のひとつとして、「パーソナル アクセス トークン」を作成しました:

対応には、複数のやり方があります。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

6-1. 「パーソナル アクセス トークン」の作成

-

個人的なリポジトリであれば、「パーソナル アクセス トークン」を使うときは、強化された「fine-grained personal access token」が推奨みたい。

今回は、「プルリクエスト」のやり方の確認が目的です。なので、ほとんどの他人のリポジトリで問題なく使える「personal access token (classic)」にて、「パーソナル アクセス トークン」作成しました。

-


1). 現在推奨されている認証モード の記述を確認:

抜粋:

コマンド ラインで HTTPS URL を使用してリモート リポジトリに git clone、git fetch、git pull、git push を実行した場合、Git では GitHub のユーザー名とパスワードが要求されます。

Git からパスワードの入力するダイアログが表示されたら、「personal access token」を入力します。

または、「Git Credential Manager 」などの資格情報ヘルパーを使用することもできます。

より安全な認証方法を優先して、Git のパスワードベースの認証が削除されました。

詳しくは、「personal access token の作成 」を参照してください。

 

SSH を使用したくてもポート 22 で接続できない場合は、HTTPS ポートを介する SSH を使用できる場合があります。 詳細については、「HTTPS ポートを介して SSH を使用する 」を参照してください。

-


2). 「パーソナル アクセス トークン」の作成:

personal access token の作成 」の記述を参照:

コマンド ラインまたは API で、パスワードの代わりに使用する「personal access token」を作成できます。

「personal access token」はパスワードと同じ扱いが必要です。

なので、コマンド ラインから GitHub にアクセスするには、「personal access token」を作成する代わりに、 「GitHub CLI」または「Git Credential Manager」を使用することを検討してください。

GitHub では、可能な限り、「personal access tokens (classic) 」ではなく「fine-grained personal access token 」を使用することをお勧めします。

 

ただし、自分、または自分がメンバーではない組織によって所有されていないパブリック リポジトリに対する書き込みアクセス権を持つのは、「personal access tokens (classic) 」のみです。

→他のリポジトリに、プルリクエストする場合は、今のところ「personal access tokens (classic)」を使うことになりそう。

-


3). personal access token (classic) の作成

-

(1). 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に「Settings」(設定)をクリック

-

(2). 左側のサイドバーの一番下にある、「Developer settings」(開発者向け設定)をクリック

-

(3). 左側のサイドバーの「Personal access tokens」で、「Tokens (classic)」(トークン (クラシック))を選択

-

(4). 「Generate new token」(新しいトークンの生成)を選び、「Generate new token (classic)」(新しいトークン (クラシック))をクリック

-

(5). トークンにわかりやすい名前を付けます。

-

任意の名前:

→「My github-furuichi」

-

複数持てるので、一覧に表示されたときに、使用目的がわかりやすい名前にします。

-

(6). トークンに有効期限を設定:

「Expiration」(有効期限)ドロップダウン メニューを選択し、既定をクリックするか、カレンダー ピッカーを使って選択

→「30 Days」

-

もっと短い「7 Days」が安心。「プルリクエスト」で使うので期限がわからないので、ちょっと長めにしました。 期限が切れたら新しく作ればいいだけです。

-

(7). トークンに付与する「scopes」(スコープ)にチェック:

トークンを使用してコマンドラインからリポジトリにアクセスするには、 「REPO」(リポジトリ)にチェックしました。

→スコープが割り当てられていないトークンでは、パブリック情報にのみアクセスできます。

-


4). 「Generate token」(トークンの生成)をクリック

英文が表示

和訳:

「パーソナル アクセス トークンを今すぐコピーしてください。もう見ることはできません!」表示:

→右下に「乱数」が表示されます。

-


5). 「コピー」アイコンをクリック

-


6). 使いたいところで右クリック →貼付けできます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

6-2. 「git push」で「パーソナル アクセス トークン」を使う:

-

アップロードのため「git push」をするときに、GitHub のアカウントのパスワードを聞いてきます。

HTTPS の URL でクローンを作成した場合、GitHub のパスワードを入力していましたが、セキュリティ強化で認識されなくなりました。

-

その代わりに、前の項番で作成した「パーソナル アクセス トークン」(乱数)を入力(貼付け)することで、認証が行われます。

-

今回は、「プルリクエスト」の操作の確認が目的です。

ほとんどのリポジトリで問題なく使える「personal access token (classic)」を使って作成した「パーソナル アクセス トークン」を使いました:

推奨は、「GitHub CLI」または「Git Credential Manager」を使うことみたい。

-


1). ブランチ「develop」から、GitHub 上のブランチ「origin」に push:

ローカルで編集したリポジトリをオンライン上に渡します:

$ git push origin develop
:
Username for 'https://github.com': xxx1234  ←(ユーザ名入力)
Password for 'https://xxx1234@github.com':   ←(生成したパーソナル アクセス トークンを入力)
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 2 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.87 KiB | 1.87 MiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
remote: 
remote: Create a pull request for 'develop' on GitHub by visiting:
remote:      https://github.com/FuRuYa7/furuichi/pull/new/develop
remote: 
To https://github.com/FuRuYa7/furuichi.git
 * [new branch]      develop -> develop

-


2). コミット履歴を確認:

$ git log
:
commit 99436ce8c816c611e6f1971682481c1769287758 (HEAD -> develop, origin/develop)
Author: FuRuYa7 <xxx1234@xmail.com>
Date:   Tue Jan 10 02:40:27 2023 +0900

    Checking pull requests after the "SSH" tab disappears on GitHub:

commit a7eff0d56ff01b596aa5156c357965e0e0b36266 (origin/master, origin/HEAD, master)
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Tue Dec 25 13:16:56 2018 +0900

    Update git-test.md
    
    Markdown test.

commit d8ee49cb599832cc069f055e1d935eceb2093931
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Mon Dec 24 21:56:47 2018 +0900
:

スペースで改ページ。
→半角の「q」で表示が終了。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

7. ブラウザの GitHub 上で、「プルリクエスト」:

-


1). ブラウザで下記のサイトを開きます:

対象の「GitHubリポジトリ」(GitHub の該当サイト)をフォークした、自身の「リポジトリ」:

→ブックマークを登録しておけば楽です。

-


2). 右中(develop の行の右)の大きな緑色の「Compare & pull request」ボタンをクリック

→対象の、(Fork ボタンを押したときの)本家のリポジトリのサイトに自動で切り替わるので注意。

-

これ以降は、自身のリポジトリではないので、操作に注意。

-


3). 画面中央に表示される、Base: が「master」かを確認。

base: master ← compare: develop Able to merge. These branches can be automatically merged.

和訳: base:master ← compare:develop マージ可能。これらのブランチは自動的にマージできます。

-


4). 表示されているコメント欄に記入:

Checking pull requests after the "SSH" tab disappears on GitHub:

和訳: GitHub で「SSH」タブが消えた後のプル リクエストの確認:(コミットしたときの表題)

→緑色の「Create pull request」ボタンをクリック

-


5). 表題が「 Checking pull requests after the "SSH" tab disappears on GitHub: #2 」になりました:

→ブラウザのブックマークに登録しておくと、コミットの修正のときに便利です。

-


6). 普段は、これ以降は、対象のリポジトリのレビュー者、および管理者からのメール待ちです:

まったく、何も来ないか、

コミット内容の修正依頼、もしくは、うまく行けば、承認されて「マージ」したというメールが来ます。

-

参考:

「プルリクエスト」がクローズされていないと、次のコミットが、こちらのプルリクエストの内容の追加として認識されます。つまり、やり直しての繰り返しがしやすい仕組みです。

なので、(熱心なサイトだと)承認(マージ)されるまで、修正してのコミットを何回もやり直すことになります。「プルリクエスト」するなら、自身に余裕があるときがベターかも。

-

また、自分のスキル以上のことを要求されることもあるので、わからないときは謙虚な姿勢でいれば、修正を繰り返すことで、自身のスキルも上がります。

-


7). 参考: レビュー者、および管理者の作業:

-

今回は、自身の GitHubリポジトリの修正なので、

レビュー者、および管理者は「自分」です:

-

(1). 緑色の「Merge pull request」をクリックして、マージ:

→「Confirm merge」(マージを確認)をクリック

→「Pull request successfully merged and closed」

-

(2). 「プルリクエスト」が正常にマージされ、クローズされました

-

→「You’re all set—the develop branch can be safely deleted. 」

和訳: これで準備は完了です。develop ブランチを安全に削除できます。

-

(3). 「Delete branch 」をクリック

develop ブランチが削除されました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

8. 参考: 自身の GitHub の「リポジトリ」を「公開」 →「非公開」に変更:

-

現在は、無料で「非公開」のリポジトリが作成できますが、 こちらのリポジトリを作成した頃は、「公開」しないとリポジトリが無料で作成できませんでした。

閲覧者もいないので、気にせず自由にアップできるように「非公開」に変更しました。

→「非公開」に変更すると、サインインしないと「リポジトリ」は見れなくなるはずです。

-


1). 「非公開」に変更する、自分で作成したサイトを開きました:

例:

GitHub: FuRuYa7/furuichi (Public)

→下記のサインインが済んでいるので、自分のアイコン(アバター)が表示されています。

-


2). GitHub にサインイン:

-


3). リポジトリの設定を変更するので、サイトの右上の、Watch、Fork、Star、のカウントがないことを確認:

閲覧やフォークされていないことを確認:

Watch(1)、Fork(0)、Star(0)、の表示です。

Watch は自分がカウントされているので「1」です。

-


4). サイトの右上の「横3点」(Settings) アイコンをクリック→「Settings」

↓ 下の方にスクロール:

-


5). Danger Zone:

「Change visibility」(リポジトリの可視性を変更)をクリック

→「Change to private」を選択

-

「I want to make this repository private」をクリック

→警告が表示:

和訳:

このリポジトリを非公開にすると、このリポジトリにアクセスできなくなるユーザに
関連付けられている Star と Watch が削除され、これらのカウントが完全に
消去される可能性があります。

将来このリポジトリを公開することにした場合、これらの Star と Watch を
復元することはできず、リポジトリのランキングに影響します。
依存関係グラフと Dependabot アラートは、このリポジトリで読み取り専用分析を
実行する権限で有効なままになります。
コードのスキャンができなくなります。
現在のフォークは公開されたままになり、このリポジトリから切り離されます。

→「I have read and understand these effets」(理解しました)をクリック

-


6). 「Make this repository private」(このリポジトリを非公開にする)をクリック

→パスワードを入力

→「Confirm」(確認)をクリック

-


7). 「Settings」画面に戻りました:

-


8). GitHub からサインアウト:

-


9). 「非公開」にした、先ほどのサイトが開けるか確認:

例:

GitHub: FuRuYa7/furuichi (Public)

-

→「404」エラー:

「非公開」に設定したので、確認できません。

-


10). 右上の「横3本線」アイコンをクリック→「Sign in」→「Sign in to GitHub」画面:

サインインにて、

GitHub: FuRuYa7/furuichi (Private) が開きました。

-

リポジトリ名のところに「Private」の表示があります。見た目の違いはそれくらい。

-


11). あれっ、緑色の「Code」ボタンをクリックすると、「Local」タブに「SSH」が表示されました:

→何かの条件で表示されるみたい。

-


12). 「SSH」が表示されなかったのは、GitHub に「サインイン」していなかったからと判明:

→久しぶりの GitHub の操作だったので、「SSH」が表示されなくなったと勘違い。

-

ちなみに、「SSH」の表示があっても、「SSH」接続のための設定をしないと使えません:

-

参考:「SSH」接続するときの設定:

(初心者向け)GitHubアカウントにターミナルでログイン(SSH接続)する

→ 使うディストリビューションで、一度設定すればいいだけ。

ただし、めったにアップロードしないのなら「パーソナル アクセス トークン」の作成が楽。

-

-


まとめ

GitHub のサイトで「SSH」接続の表示がなかったのは、単にGitHub に「サインイン」していなかったからと判明。 気付かないものですね。

勘違いだったけど、そのおかげで「HTTPS」接続で認証が通るやり方が学べました。

また、久しぶりだった「プルリクエスト」の復習になったので、良いかな。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-