Plastic SCMを使ってみようと思った③

# はじめに
[前の記事](https://qiita.com/Accky/items/6ef384468dc27fbc737a)でなんとかPlastic SCMのクライアントのインストールに成功した私はやっとのことでPlastic SCMの機能に触れられる段階に到達しました。
なのでここからはごく基本的な、Gitで言うところのリポジトリをつくってPush/Pullをする、SVNでいうところのCommit/Updateをできるようになりたいと思います。

今回の記事は[Plastic Cloud Edition Guide](https://www.plasticscm.com/documentation/cloud-edition/plastic-scm-version-control-cloud-edition-guide)を参考にしつつ独自に進めているのでまっとうに進めたい人はそちらを見ながら進めたほうが良いかもしれません、とお断りを入れておきます。

# リポジトリを作る
というわけでPlastic SCM Cloud Editionを使い始めるにあたり、[こちらのドキュメント](https://www.plasticscm.com/documentation/cloud-edition/plastic-scm-version-control-cloud-edition-guide)を読んでみたところ、組織を作り、リポジトリを作る手順が書かれていました。

## Centralized（集中型）と Distributed（分散型）
それぞれ、Centralized（集中型）とDistributed（分散型）のリポジトリをツール上で作成する方法が記載されていました。ただ、クラシックGUI（開発者向け）では両方のリポジトリを作れるようですが、Gluonというアーティスト向けのツールでは集中型のリポジトリしか作れなさそう。

ですのでひとまずクラシックGUIを使ってリポジトリを作ってみようと思います。

## クラシックGUIでリポジトリを作る

Plastic SCMを起動すると、CentralizedとDistributedのタブが表示されました。せっかくなので分散型のリポジトリを作ってみます。（で、Gluonで表示できるか試してみよう）
ということでDistributedタブを選び、Cloud repositoryのNEWボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/4277e5a7-f90f-c8a0-6c50-b9bc49fe63a4.png)
サーバ名は自分の属しているものをプルダウンから選ぶだけでOKなので、あとはリポジトリの名前を入力してOKを押すだけ。そうすると必要な情報が入力された状態で戻ってくるので、こちらもあとはOKを押すだけ。私は保存先のパスを変更したかったのでそこだけ変更しました。

リポジトリが作られると、Plastic SCMが自動でそのリポジトリを開いて表示してくれました。まっさらな状態のリポジトリの内容が表示されているようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/ef298907-12e4-8d8d-c98e-0eea4798a7eb.png)

## リポジトリの操作
当然私のことですのでここに辿り着く前にリポジトリの命名に失敗して削除したりしています。なのでリポジトリの削除方法などもここにメモしておきます。
左にあるメニューのRepositories & Worlkspaces→Repositoriesを選ぶと、Repositoriesタブが表示されます。そこで不要なリポジトリを選び右クリックして表示されたメニューからDeleteを選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/4aabfb0d-67af-f127-99e3-ee90426c9e9f.png)
そうするとひとまずデリートはされますしたが(Deleted)状態でリストには残るようでした。この項目を右クリックすると「Undelete」を選ぶことができるようです。誤って削除したリポジトリを復帰させられる機能ですかね。
しばらくDeletedの状態で放っておくと実際に削除されたりするのかもしれません。（未確認＆想像）

## ブランチを作ってファイルを足す
### ブランチを作る
ひとまずGitの作法に則って、mainブランチからdevelopブランチを作ってそこにファイルを足してみます。というわけで、左メニューからBranch Explorerを開き、mainブランチを右クリックしてCreate branchを選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/0e8ac7d2-142a-8784-c55e-7691904baa54.png)
developという名前のブランチができました。ここにファイルを足してみようと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/4ce22127-0d58-a198-37bb-a10f2507d23a.png)

### ファイルを足す
最初にリポジトリを作ったときに作られたローカルの作業フォルダに適当なテキストファイルをおいてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/cf4868f7-6c59-577f-46a6-6a29a3c83a2a.png)
その後、左メニューからPending changesタブを開くと、以下のように作ったテキストファイルが表示されました。おそらくこれをチェックインしたら良いのではないかと思います。
というわけでチェックインコメントを記述してチェックイン。ここは確認なしなのね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/ae078a5b-e046-dbff-cd19-89337434e2f2.png)

### ファイルを足したらどうなった？
Branch Explorerを見てみたら、ブランチが少し進行してました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/3728a01b-01d7-bce8-5d2d-3b77eb6485df.png)
Workspace Explorerを見てみたら、足したファイルが管理状態に追加されていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/5bd5391c-315b-ff84-d3ed-a35fa4010ecb.png)
Changesetsを見てみたら、チェックインしたときのログが増えてました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/5b4cb89b-393f-be77-bd0d-59571c273a58.png)
というわけで無事、developブランチが追加されて、そのブランチにTest.txtが追加されたようです。
ただこれはローカルリポジトリでのみこうなっているように見えるので、Gitで言うところのPushをしてリモートのリポジトリに反映しないといけない気がします。

### リポジトリをプッシュする
おそらくこれだと思うSync to Cloudを左メニューから選んでみたところ、Push visibleというボタンを発見。多分これを実行したらいいんじゃないかな？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/8838d817-5d81-b82f-d3dd-aff4d352bb97.png)
ボタンを押したら同期のダイアログが表示されました。Startを押して実行してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/6c82e021-297c-dd5a-3b39-88c627d3a8f2.png)
テキストファイル一個足しただけなのであっという間に終わりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/4a7db415-ef96-6bee-9d1d-d1290a52f593.png)
プッシュして同期したら完全同期したみたいで表示が変化しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/6eed4d7d-50ba-6dd0-44b5-3c30782a6b22.png)
おそらく他の人がブランチを作ったりブランチを進行させたりしてリモートとリポジトリとローカルのリポジトリに差がある時にPull visibleが有効になって押せるようになるのかな～と。
今は一人でいじっているのでこの辺は確認しにくいですね。

# おわりに
なんとか分散型のリポジトリをつくって、ブランチを作って、チェックイン（コミット）して、リポジトリのプッシュをするところまでできるようになりました。
クラシックGUIは少し触っただけですが、今のところいい感じです。割に直感的なイメージです。

次はどうしようかな……。
まだ触ってない機能（GluonでDistributedリポジトリへのアクセスを試してみたりとかコードレビュー機能を試したりとか）、実際のUnityのプロジェクトをリポジトリに入れてみたりとか、他人と同時に触ってみるとか。
ひとまず今日はここまで。