【Git】【Server Starter】GitHubによるリモートレポジトリ作成の手順

本記事はMinecraft JEのサーバー管理システムであるServer Starterの連載記事として執筆しています。
一部ShareWorldなど特殊な単語を用いていますが、興味のある方は[こちら](https://qiita.com/CivilTT/items/a59d9be7cea50d60a666)も見て頂けると嬉しいです。

# アカウントの作成
基本的にGitはコマンドラインから作業できますが、初心者にはハードルが高いため、できる限りわかりやすい方法で紹介したいと思います。<br>
1. GitのレポジトリをHP上で確認できる[GitHub](https://github.com/)にアクセス
2. Gitのアカウントを持っていない方はページ右上の`Sign up`からアカウントを作成

>画面の案内に従ってemailアドレスやユーザー名を設定し、以下の画面まで進みましょう
>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1796208/dc311b81-1b86-a4fb-8098-275d81d2032f.png)

# レポジトリ作成
1. 左側の`Create repository`を選択
2. 以下の画面にてレポジトリ名などを設定する。Server Starterで用いる場合は`ShareWorld`（SとWは大文字、すべて半角文字でスペースなし）という名前でレポジトリを作成してください。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1796208/4d617ed6-a194-5e7a-7b1e-4bf432a5cb9c.png)

3. Descriptionはレポジトリの説明文を書くが、未記入でもよい。レポジトリの種類は不特定多数に向けた公開の必要性がない場合はPrivateを選択する。最後の３つのチェックボックスは以下を参照。
記入がすべて終わり次第、`Create repository`をクリックする。
4. 以下の画面に遷移したら、赤枠で囲われている部分のリンクをコピー（メモ）しておく![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1796208/f7c8db0a-7c4b-3414-930a-33d80c87443b.png)

# レポジトリを自分のPCから操作
##事前準備（GitBush）
1. Win+Rで"cmd"と入力し、コマンドプロンプトを起動する。
2. `git`と入力して以下のような画面が出た場合は[ここ](https://gitforwindows.org/)からgitbashをインストールする。

>gitbashのインストール方法については[こちら](https://qiita.com/suke_masa/items/404f06309bb32ca6c9c5)の記事が参考になるかと思います。

~~~
'git' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
~~~

## 事前準備（Personal access tokens）
以前まではGitの認証はパスワード認証が可能でしたが、セキュリティーの関係で、最近では推奨されていません（いずれ廃止される）。そのため、本記事ではPersonal access tokenを用いた認証方法で解説したいと思います。<br>
1. GitHub右上のアカウントボタンをクリックし、`Settings`を開く
2. 左側のメニュー項目一覧から下の方にある`Developer settings`を選択
3. その後、`Personal Access Tokens`を選択し、`Generate new token`ボタンをクリックする
4. `Note`には利用するユーザー名（基本的にGitアカウント名と同じで良い）<br>`Expiration`は作成するtokenの有効期限を表す。最後に作業をしてからの期限のため、自身の作業頻度に合わせて設定するとよい。選択肢にはNo expirationも存在するが、セキュリティー上避けるべきである。<br> 最後に`repo`にチェックを入れることでtokenを導入するユーザーがレポジトリにアクセスできるような設定にすれば、一番下の`Generate token`を押す![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1796208/59456bbf-4992-ee9c-f4d5-c9e247145fea.png)
5. 生成がうまくいくと以下の画面になるため、赤枠で囲ったtokenをコピー（メモ）しておく。![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1796208/4397e9d4-efb9-db6a-d9bc-791fda8a12f9.png)
6. ここからはPC上での作業になる。スタートメニューより`Windows システムツール`->`コントロールパネル`->`ユーザーアカウント`->`資格情報マネージャー`->`Windows 資格情報`->`汎用資格情報の追加`と進んでいく。
7. 各項目は以下のように入力していく

|項目名|内容|
|:-:|:-:|
|インターネットまたはネットワークのアドレス|git:https://(Gitアカウント名)@github.com|
|ユーザー名|（Gitアカウント名）|
|パスワード|（先ほどメモしたPersonal access tokenをペーストする）|
8.　入力が終わり次第OKを押し、登録内容が追加されていれば画面を閉じて問題なし

## Git専用のフォルダを作成
再びコマンドプロンプトを起動
適当なフォルダ(今回はShareWorld)をデスクトップに作成しておき、そこにカレントディレクトリを移すために以下のコマンドを入力 

~~~
cd Desktop\ShareWorld
~~~ 

次に以下のコマンドを入力し、フォルダ内に.gitというフォルダが作成されたことを確認してください。もし、表示されない場合は、隠しファイルを表示する設定にしてみてください。

~~~
git init
~~~

今後の作業を行うアカウントを設定しておきます。特にアカウントが複数ある場合は必ず行う必要のある操作です。

~~~
git config --global user.name (Gitアカウント名)
git config --global user.email (Gitアカウント登録時に使用したメールアドレス)
~~~

ShareWorld内に適当なファイル（test.txtなど？）を作成し、適当に中身を編集しておく
編集が終わり次第以下のコマンドを順に入力する。"First Commit"の部分はあとでGitHub上で確認できるメッセージ。作業内容などに沿って任意の名称をつける

~~~
git add -A
git commit -m "First Commit"
git remote add origin (先ほどメモしたURL　ex)https://github.com/(Project)/(Repository).git )
git branch -M main
git push -u origin main
~~~

なお初めてpushする場合はパスワードによるログインを要求されますが、その際はWindows資格情報の登録時と同じように、ユーザー名はGitのユーザー名、***パスワードは取得したアクセストークン***を指定しましょう。

>ログイン画面に正しく情報を入力しても`Logon failed`と言われることもありますが、コマンドプロンプト上でもう一度入力を求められるため、焦らずにもう一度同じ内容を入力してみてください。

>`git push`で失敗する場合は以下のようにコマンドを打ち直してみてください。
git push https://(ユーザー名)@github.com/(ユーザー名)/(レポジトリ名)


ここまですべて終了したら、[GitHub](https://github.com/)を開き、以下の写真のように変更が反映されていれば作業終了
作成したフォルダがリモートレポジトリとの同期用フォルダになる![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1796208/2e7c4fc1-a47c-bda9-1549-47042eeb6fb4.png)


# Server Starterを利用している方は…
もうひと作業あります。
Server Starterをインストールしているフォルダ(デフォルトでは`.minecraft`->`Servers`)を開き、`World_Data`フォルダを開きます。
そこに、`info.txt`というファイルが存在するため、これを開き、6.7.のGitに関する項目を編集して下さい。
6.にGitのアカウント名を記入し、7.にGitのアカウント作成で使用したメールアドレスを記入してください。

これで初期設定はすべて終了です。

今回作業用に作成したShareWorldフォルダについては削除してもらって構いません。
必要なファイルについては適宜Server Starterが自動生成します。