Github, Git の導入をナレッジ化した経緯

メンタリング時にソースコードを共有してもらいたい場面がよく出てきます。

プロジェクトをまるごとZIP圧縮して送っていただくことも可能です。

一方、多くはGithub, Gitを利用します。

チーム開発で使用するのはもちろん、個人開発の方でもバージョン管理の観点から導入は必須です。

以前は特定のサイトだけ見てればインストールからソースコードのプッシュ、共有までできていたように

記憶していたのですが、時の流れは早いもので、2023年9月末現在では、

結構散らばってしまっていることがわかりましたので、ナレッジとしてまとめます。

内容に不明点など有りましたら、メッセージ等でお問い合わせください。

Git の概念的な内容 ~ Windows、Macでのインストールはこちら

サル先生のGit入門

概念を知りたい場合は、以下『Gitの基本』を読んでください。

Gitの基本

Gitを使ったバージョン管理
履歴を管理するリポジトリ
変更を記録するコミット
ワークツリーとインデックス

Gitのインストール

Gitのインストールは、「サル先生のGit入門」に手順がありますので、こちらを参照してインストールしてください。

Gitのインストール

サル先生の「お使いのパソコンの環境を選んでください。」>「Macを選択」または「Windowsを選択」を

選択することで、お使いの環境の合わせた手順を切り替えることができます。

Gitのインストール

コマンドラインベースを使用する方は「コンソールを選択」の手順を実施してください。

SourceTree(Mac/Windows), TortoiseGit(Windows)のGUIベースをインストールしつつ、コンソールのGitもインストールすることは可能です。

Gitの初期設定

各環境の初期設定は以下から参照できます。
初期設定

サル先生の「お使いのパソコンの環境を選んでください。」>「Macを選択」または「Windowsを選択」を

選択することで、お使いの環境の合わせた手順を切り替えることができます。

ファイルをコミットする

ファイルをコミットする

サル先生の「お使いのパソコンの環境を選んでください。」>「Macを選択」または「Windowsを選択」を

選択することで、お使いの環境の合わせた手順を切り替えることができます。

コミットってなに?と気になってモヤモヤしてしまう方は、以下記事をご一読ください。
Gitの基本 変更を記録するコミット

ここまでで、お使いの環境のローカルリポジトリのGit環境は整いました。

次はリモートリポジトリである、Githubの設定になります。


リモートリポジトリ Githubの設定

Progateに手順があります。各々の環境毎に、Githubアカウントを取得してください。

リンク先がブラウザで開きましたら、「GitHubの設定」をクリックして、手順を始めてください。

Windows : 3. GitHubの設定
画像のタイトルを入れてください

Mac : 4. GitHubの設定
画像のタイトルを入れてください

「GitHubアカウントの作成」まで実施してください。

リモートリポジトリの作成

ここから、操作を直接記載していきます。

GitHubのヘッダー右上にある「+」をクリックして表示される項目の「New repository」をクリックします。
New repository

Repository name * に、リポジトリ名を入力します。小文字英数、ハイフン(-)を使うのが一般的です。
また、公開範囲はPrivateを選択してください。Publicですと意図しない全世界公開状態になります。
Repository name

Add .gitignore で、除外リストをあらかじめ作ることもできます。
よくわからない方はここは今選択しなくても大丈夫です。
Add .gitignore

Spring Boot プロジェクトで、ビルドツールが Maven の場合は、Mavenを選んでおくと良いでしょう。
Maven Selected

Create repository をクリックします。
Create repository

リモートリポジトリが作成されます。
画像のタイトルを入れてください

アクセストークンを取得する

GitHubの認証情報を取得、設定する方法が公式にあります。
個人用アクセス トークンを管理する

GitHub公式によると、

personal access tokens (classic) よりも、

Fine-grained personal access token を推奨しているようなで、こちらの手順を記載します。

上記手順を以降に記載します。

右上隅にあるプロフファイル画像をクリックします。
Githubプロファイル画像をクリック

Settings をクリックします。
Settings

左のサイドバーの一番下の、Developer settings をクリックします。
Developer settings

Personal access tokens をクリックして、メニューを展開します。
Personal access tokens

Fine-grained tokens をクリックします。
Fine-grained tokens

Generate new token をクリックします。
Generate new token

New fine-grained personal access token 画面で、Token name と Expiration を入力します。

Token name に任意のご自身で識別できる値(リモートリポジトリ名を入れておくのをおすすめします)を
入力し、Expiration は有効期限を選択します。
Token name and Expiration

Repository access で、Only select repositories > Select repositories > 作成したリポジトリ
をクリックします。
Repository access

Permissions に多くの項目が現れます。
Permissions

しかし、最低限 push をしたいだけなら、Contents を Read and Write にします。
Contents

下部へスクロールし、Overviewを確認します。
画像のようになっていれば、作成したリポジトリに、push は可能となります。
後に、色々とやりたいことが増えたら、増えた時に必要な権限を開放してトークンを作り直します。
Generate token をクリックします。
Overview_Generate token

コピーアイコンをクリックして、アクセストークンをコピーし、
テキストエディタなどに貼り付けておいてください。
この画面は再表示できないため、注意してください。
これを再度表示することはできないため、個人用アクセス トークンを今すぐコピーしてください。

Github CLIをインストールし、Githubとの認証をする

Git に GitHub の認証情報をキャッシュする

GitHub CLI をインストールする。

Windows:winget install --id GitHub.cli
Mac:brew install gh or sudo port install gh など

インストールしたら、ターミナルなどで、 gh auth login コマンドを打ちます。
※ Windowsの場合、インストールコマンドを打ち込んだターミナルやプロンプトなどは一度閉じて開き直してください。
※ 開き直さないと、ghコマンドが認識されません。

上下カーソルで選択まち状態になります。 GitHub.com のまま、Enterします。
GitHub.com

HTTPS のまま、Enterします。
HTTPS

Y を入力して、Enterします。
Yを入力

Paste an authentication token を選択し、Enterします。
Paste an authentication token

Paste your authentication token : に、テキストエディタなどに貼り付けておいた、
アクセストークンを貼り付けます。
Enterします。
Paste your authentication token

Logged in as ユーザ名 と表示されれば、Githubとの認証は成功です。
Logged in as

アクセストークンの有効期限が切れた場合、Github上でアクセストークンを生成し直した上、
gh auth login から実施し直せば、再度認証は可能です。

ローカルリポジトリからプログラムを Github に push する【初回のみ】

ターミナルやプロンプトで、pushしたいプロジェクトまで、cd コマンドで移動します。
cd

git init コマンドを打ちます。
git init

WebブラウザでGithubを開き、push したいリモートリポジトリを選択 > Code をクリック > HTTPS > コピーアイコンをクリックします。
URLコピー

git remote add origin コピーしたURL コマンドを打ちます。
git remote add

git remote -v コマンドで、リモートリポジトリの登録状況が確認できます。
git remote -v

git status コマンドで、ローカルリポジトリの状態が確認できます。
リポジトリに追加もコミットもしていないので、配下すべて赤字で表示されます。
git status

git add . コマンドで、配下すべてのファイルを追加します。
git add

git status コマンドを再び打つと、緑色になり、
ローカルリポジトリ管理に追加されたことが確認できます。
git status

git commit -m "First time registration" コマンドを打ってコミットします。 コミットコメントは任意のものを入力できます。
git commit

git push origin main コマンドを打って、Githubのリモートリポジトリへプッシュします。
git push origin main

上記のようにエラーが出る場合、Github上のリポジトリで作成された履歴とマージさせます。

1回目のpushで成功されている場合は、このような場合もあるのだと参考して頂き、
手順をスキップしてください。

git pull origin main --allow-unrelated-histories コマンドを打ちます。
git pull origin main --allow-unrelated-histories

git push origin main を再び打ちます。
画像のタイトルを入れてください

エラーや失敗メッセージが表示されていなければ、成功しています。
Githubを確認してみましょう。
Githubを確認

Githubのリモートリポジトリへpushができました。

Githubのリモートリポジトリを共有する

メンターにソースの内容を見てもらったり、コードレビューをしてもらう際、

公開範囲がPrivateの状態のままではメンターがみることはできません。

そこで、コラボレーターを設定します。

事前準備として、追加したい人のGithubアカウントは教えてもらってください。

以下、公式のドキュメントです。
コラボレーターを個人リポジトリに招待する

共有したいリポジトリの Settings をクリックします。
Settings

Collaborators > Add people をクリックします。
Add People

追加したい人のアカウントを検索します。
※人違いをしないように注意です。
people

Add **** to this repository をクリックします。
Add man to this repository

**** has been added as a collaborator on the repository. と表示されれば、リポジトリを共有できています。

Codeタブに戻って右側に Contributors 欄が現れ、追加したアカウントが表示されていれば、
これで共有は完了です。
Contributors

おわりに

メンターである私自信も、GitやGithubの初回設定は何度も実施するものではなく、

失念していることも多いことから、ナレッジとして記録しました。

時間の経過とともに古くなると思いますので、お気づきの点などございましたら、

コメントやメッセージをくださると幸いにございます。