IBM i でGitコード管理：01:Gitの基礎

何をいまさらなお題ではありますが。
やってなかったんだから仕方ないですね。（きちんと使いこなしているユーザー様はおられますが私自身の問題として。）

**閑話休題**
**かつて本田宗一郎氏が** 社員に向かって ***「皆さん、わが社はモトGPに参戦します！」*** と宣言したのは1958年頃だと思います（一説では段ボール？みかん箱？ビールケース？の上に立って）。その際の反応は、***「え？何夢みたいなこと言ってるの」*** みたいな反応だったとか。
ということで本田宗一郎氏を見習って追い付きたいと思います。



教科書として下記の書籍（ほか）を勉強してみます。（昨年買っておきながら途中で…のパターン(^^;）
[いちばんやさしいGit&GitHubの教本 第2版](https://www.amazon.co.jp/%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84Git-GitHub%E3%81%AE%E6%95%99%E6%9C%AC-%E7%AC%AC2%E7%89%88-%E4%BA%BA%E6%B0%97%E8%AC%9B%E5%B8%AB%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%EF%BC%86%E5%85%B1%E6%9C%89%E5%85%A5%E9%96%80-%E3%80%8C%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E6%95%99%E6%9C%AC%E3%80%8D%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-ebook/dp/B09X6MF3RW/ref=sr_1_2_sspa?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2OBPSY2HSQFMW&dib=eyJ2IjoiMSJ9._d5sxUu_tS4oqB3ilDN9LGQ-p6cAG-CgwNzW_Tf6c8GhutkPsvP1_kYnkwiBww124Otgbh_86udTFW7F6XlqEw3a36LNxEv-Gj-aVnOBGo_dNPP_KnyANCAaZn5JsHrbiE906fcuyop3vhc6sEE3G2eLqp6ZRt-kaKjZ9UsuE7lK21DyKopZF1k--VnSBCK7pBmQVn-NjfhUh2p40co6kFerFk0qFjHeszeXQwh-04W4gGuYbgyRMcA8fis9cbnaNUgs6nK0W768vSKhnoQS0QIzXZWal9jkSSZ4Wrt2vbs.kOcJOTkBoi8Z1bvUc_Krusv-gvtu_f81-As-nmsaUZY&dib_tag=se&keywords=%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84+git+hub&qid=1737005703&sprefix=%E3%81%84%E3%81%A1b%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84+git+hub%2Caps%2C241&sr=8-2-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1)

※まもなく新版（第3版が出るようです(^^;）

## Gitの基本のキ
- GitクライアントはCUI版とGUI版の二種がある
- Windows用Git CUIにはGit Bashというツール（プロンプト）が付属
- GitのデフォルトエディターはVimだが、VSCその他に変更できる（Vimは学習要なので変更を推奨）自分もVSCでやってみます。

Gitはクライアント、サーバーに分けることが出来てこんな感じで使う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011394/c6e7f8c3-2112-eda4-3cb4-87ad90e4b9b2.png)

上記はチーム開発の場合の最小構成例みたいな。
個人で使う場合は（お仕事ではあまり無いはずだが）、Gitクライアントだけでも動作する。

## Gitリポジトリーの構造

こんな感じになる。色々な用語があるのでそのまとめ的な図です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011394/f04bf3e7-1c76-f5cd-f18e-7df4d0defddf.png)

## Git（クライアント）のインストール

色々情報あると思うので割愛します。
上記教科書から、ポイントそうなところを書き出すと、
・
- OSレベルでソースの改行コードがWindows/Mac,Linux系で異なる。WindowsはCRLF, Mac,Linux系はLF。
- Gitインストール時ほかに、WindowsのGitクライアントの初期設定 Checkout Windows-style, commit Unix-style line endings を選択するとGit管理下のソース（テキストファイル）をコミットする際CRLF->LF変換し、Gitディレクトリからワークツリーに反映するときはLF->CRLF変換される。

## Gitの最初の設定

下記設定は基本必須です。

- ユーザー名登録　以下のコマンドで登録
```
git config --global user.name XXXX
```

- メールアドレス設定
```
git config --global user.email XXXX@YYYY.co.jp
```

※上記の設定確認は、以下のコマンドで
```
git config --list
```
こんな感じで確認できます。（最下部2行）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011394/2e9d9f95-5c6c-a6b9-d43e-df266c94893a.png)

***git configを途中で（行が多いなど）途中終了したいときは Qキーを押す。***


エディターを登録（VSCに変更）
VSC導入後に、下記を実行

```
git config--global core.edtitor "VSCのインストールパス --WAIT"
```

以下のコマンドで上記の設定が反映できてるか確認
```
git config core.editor
```
上の方で出た、 git config --list でも確認okです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011394/07c4ad94-ee57-c69e-f170-1b99b3abc9b1.png)

以上の結果、たとえばGitHub Desktopで適当なファイルをクリックするとVSCodeが上がってきたので設定はOKのようです。

また、Git ver.2.28以降ではデフォルトでセットされますが（Windowsの場合）、ブランチ名をmasterに設定する。
```
git config --global init.defaultBranch master
```

一つ上の画像で上記設定済みなのが確認できます。