MATLABでGitを操作しよう (第1回 : プロジェクト作成とGUIの説明)

前回まではSimulink APIを連載していましたが、暫くお休みです。(ネタまとめ中)
業務でMATLABとGit/GitHubを連携する機会があり、色々とまとめたので、
以下の3つの制約を付けて小出しにしてみたいと思います。

1.CUI操作は扱わない
- 普段は使っていますが、CUIの操作は多くの方が既に記事にしており、目新しさが無いため。
2. 3rd Party製のGUIツールは扱わない
- SourceTree、fork、GitKraken、GitHub Desktop等も1同様に記事の目新しさが無いため。
3. MATLAB/SimulinkのGUIを使う : ここにレア感あり(笑)
- 勿論、MATLABのコマンドから`!git `でも出来ますが、1同様の理由で今回は取り上げません。
尚、環境はR2019b (第1回掲載時においては最新版)

### 連載予定
第1回 : プロジェクト作成とGUIの説明
第2回 : git add/git commit
第3回 : チェックアウト(特定のコミットに戻る)
第4回 : ブランチ作成
第5回 : リモートリポジトリとの連携 (git push/git pull)
第6回 : クローンを作成する
第7回 : 応用1
第8回 : 応用2

第1回 : プロジェクト作成とGUIの説明
---
「プロジェクトの管理」については本家MathWorksさんの[Simulink モデルの管理とアーキテクチャ](https://jp.mathworks.com/training-schedule/simulink-model-management-and-architecture)を受講頂き、説明を受けて頂くのが最もリーズナブルですので、詳細は割愛します。
今回記載しているは、あくまでも第4回以降の話へ繋ぐための前振りです。

#### 操作1 : プロジェクトの作成
`git init`に相当する操作を幾つかのステップを追って説明します。プロジェクト作成自体がgit initではないのでご注意下さい。

![MLGIT1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/79770c12-ed4c-6611-0423-94a6a9705458.png)
1-1: MATLAB Toolstrip > ホーム > プロジェクト > フォルダーから を選択します。
![MLGIT2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/6054524d-91ca-5e0f-819f-7ee0c72b4313.png)
1-2: 新規プロジェクト ダイアログが起動するのプロジェクト名を設定します。
![MLGIT3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/5baff78f-8b2a-b913-a829-869e7b152247.png)
1-3: 「ソース管理の使用」というアイコンがアクティブになります。
![MLGIT4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/087ab856-c2cd-8ed4-8617-50a0a69fff00.png)
1-4: 「ソース管理の使用」をクリックし、「ソース管理にプロジェクトを追加」をクリックします。
![MLGIT5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/4a3ec40f-736d-7f1b-0759-884688a6c5d8.png)
1-5: 「ソース管理ツール」にGitを設定し、「変換」をクリックします。
![MLGIT6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/561d8bc1-14f8-13e0-07ab-6867d171a0ff.png)
1-6: 「プロジェクトを開く」をクリックします。
![MLGIT9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/2ddf0a3c-441f-03d9-bd02-8d8c78523ff4.png)
1-7: .git (ローカルリポジトリ) が出来ました。`git init`如きのコマンドをGUIで操作するとこんな感じです。しか～し！この「プロジェクト」っていうのは、仕事でMATLABやSimulinkを使う際にはとても便利で作業効率が上がります。詳細はMathWorksさんのトレーニングで実施しているようなので是非受講してみてください。
![git111.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/7203999d-eb41-e3f0-f006-0313021c2b0b.png)

1-8 : 各種Git操作や、ステータス表示に関連するアイコンが表示されるようになります。

| アイコン|       gitコマンド     |     意味    |
|:--------------------:|:---------------------:|:---------------------|
| ![gitsyousai.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/18baaded-7b3d-1445-06f6-5e71e6e0258f.png)|なし|        プロジェクトにリモートの場所等を表示|
|![gitsaishin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/a7a35ef9-a747-8bf9-7c6e-f0395d67e6de.png)| なし |ステータスアイコンの状態更新|
|![gitcommit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/a59b6caa-fe13-cd80-3c25-b27361e68167.png)|git commit .|ステージングエリアにあるファイルを全てコミット(commitオプションとして.が付いていると考えて下さい)|
|![gitfetch.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/6c0918c6-eaf9-bb35-db32-e4e9e16543b8.png)|git fetch|リモートリポジトリからフェッチ|
|![gitpush.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/35301f40-2bba-6f8f-716e-3579e561dc3b.png)|git push|リモートリポジトリへプッシュ|
|![gitpull.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324583/1fc3c93d-669f-d2b0-4e54-d9b60c6c4877.png)|git pull|リモートリポジトリからプル|

主なアイコンとgitコマンドの対比は以上です。
Stash、サブモジュール作成などもありますが追々。
ちなみに、`!git add` は？第2回から細かく見ていきますね！