チーム開発事前準備

#書いてあること
- Githubリモートリポジトリ共有方法（アプリ作成〜SNSグループ作成と連携）
 
1.ローカルで作って共有する方法

- 新規アプリ作成
- gitの管理下に置く
- リモートリポジトリ作成

2.Github共有方法

- 招待する側
- 招待される側

3.SNSでチーム作成(今回はSlack)

- チャンネル作成
- チャンネル共有

4.GitHubの通知がSlackに飛ぶようにする


- GitHubとの連携
- 特定のリポジトリとの連携
- 備考


- 参考ページ

- 終わりに

#Githubのリモートリポジトリ共有方法
##1.新規アプリ作成をし、誰か一人がリモートリポジトリを作成する
- 新規アプリ作成

*ここでRubyのバージョンを指定するかしないかで自動作成されるファイルやGemfileの内容が
変わるので、どのファイルで作業をするか決めておいたほうが良いかも。

```rails:ターミナル 
$rails new 作りたいディレクトリ名 -d mysql　
```
[Rails 新規アプリケーションの作成①](https://qiita.com/i-to-to-to-mi/items/8a7105f1adba43823627)

[Rails新規アプリケーション作成（haml版）①大枠作り](https://qiita.com/i-to-to-to-mi/items/a450abb960b1a0f395f7)

- gitの管理下におく
 
```rails:ターミナル
/git管理下に置きたいディレクトリへcdで移動し下記実行/
$git init 
$git add .   /.は全部という意味/
$git status　/ちゃんと移動したか確認/
```
- ローカルリポジトリに追加(コミットするよ)

```ruby:ターミナル
$git commit -m "initial commit"
```


- GitHubDesktopの[CurrentRepository]で`add`する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/7e228142-7a89-1503-507f-9ff99510511f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/9398b447-a1e8-ff58-0afa-bcb54b30850a.png)
 
次の画面はこれ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/1491a8e5-c47f-5372-b4a7-eb917ade428b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/35050b29-0fc9-0a8e-dfb9-496729056b8c.png)


`リモートリポジトリ作成完了！`

##2.Github共有方法
**＊招待する側**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/8d0976b6-7fef-f38b-4423-1f3f45df6e2e.png)

Githubのリポジトリ画面＞「Settings」タブ＞`共有したいユーザー名`or`メールアドレス`で検索＞「Add collaborator」ボタンを押す

**＊招待される側**

メールを確認 → 参加する
メールのView Invitationよりアクセスする。

ローカルリポジトリと同期する
1) GitHubデスクトップから« Add > Clone Repository »を選択する。

2) Clone a Repositoryから該当するアドレスとダウンロード先を指定してCloneを押す。


##3.Slackチーム作成
- **チャンネル作成**

[Slack]
①左サイドバーの「チャンネル」の横にある　✙ (プラスアイコン)をクリックします。
②チャンネル名を入力します。
チャンネル名のプレフィックスを選択するオプションが表示される場合には、ドロップダウンメニューからいずれか1つを選択することができます。チャンネル名は80文字まで、日本語、英字 (小文字)、数字、ハイフン、アンダーバーが使えます。スペースやピリオドは入れないでください。
③何のためのチャンネルかが誰でもわかるように、チャンネルの説明を追加します。
④トグルボタンを切り替えて、チャンネルを「パブリック」または「プライベート」にします。
⑤各項目の入力が終ったら、 「チャンネルを作成する」ボタンをクリックします。
⑥他のユーザーをチャンネルに追加する : 名前の入力を開始し、ドロップダウンメニューから名前を選択してそのユーザーを追加します。 後からメンバーを追加することもできます。

備考
・パブリックチャンネル : ゲストを除くワークスペースのメンバー全員
・プライベートチャンネル : マルチチャンネルゲストを含むメンバー全員

**チャンネル共有（招待する）**
①左サイドバーの「チャンネル」の横にある ✙プラスアイコンをクリックします。
詳細は、 チャンネルを作成する を確認ください。
②リンクの横にある 「コピー」、その次に 「完了」をクリックします。
③相手の連絡先情報を利用し、 Slack 外で招待リンクを共有可能です。リンクは、相手先のオーガナイゼーションに所属する 1 人または複数のメンバーに送信できます。

**チャンネル共有（招待を承諾する）**
①招待リンクをクリックします。
②共有チャンネルが所属するワークスペースを選択するか、「別のワークスペースにサインイン」をクリックします。
③詳細を確認して承認するには、「招待を承認する」をクリックします。
④チャンネル名の変更、または公開か非公開の設定を選びます。変更されるのは外部のオーガナイゼーションではなく、自身のワークスペースのみであることに注意してください。
⑤「招待を承認する」をクリックします。


##4.GitHubの通知がSlackに飛ぶようにする
**・GitHubとの連携**

連携させたいチャンネルのメッセージ欄に以下を入力して送信

```rails:Slackの連携したいチャンネル
/invite @GitHub 
```
こんなポップが出たらALLOW
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/f1073f7c-a56c-5177-2813-1a3d4d19924f.png)

`GitHubとの連携完了`

**・特定のリポジトリとの連携**

連携させたいチャンネルに以下を入力

```rails:Slackの連携したいチャンネル
/github subscribe githubのユーザー名/リポジトリ名

```

`Connect Github account` をクリック
`Authorize Slack by Github`をクリック
この画面に飛ぶので連携させたいユーザーを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/81fee010-50ef-094d-eea0-08eeb2d70dad.png)

選択すると以下の画面になるので`Only select repositories`を選択し、
`連携させたいリポジトリ`を指定した後に`Install`を押します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540209/873dbd18-0119-a58b-8546-30dfca12f220.png)

最後に、passwordを聞かれるので`自分で設定したGitHubのパスワード`を入力

**備考**
デフォルトで連携される

```
issues（イシュー） 
pulls（プル）
statuses（ステータス）
commits（コミット）
deployments（デプロイ）
public（パブリック）
```

デフォルトで通知されない

```
reviews（レビュー）
comments（コメント）
branches（ブランチ）
```

通知を追加する

```rails:Slackで連携したチャンネル
/github subscribe githubのユーザー名/リポジトリ名 追加したい機能

```

通知を削除する

```rails:Slackで連携したチャンネル
/github unsubscribe githubのユーザー名/リポジトリ名 非通知にしたい機能
```

##参考ページ
Gitコマンド

- [基本的なGitコマンドまとめ](https://qiita.com/2m1tsu3/items/6d49374230afab251337)
- [【簡単解説】Gitリポジトリの新規作成するinitコマンドの使い方](https://eng-entrance.com/git-init)
- [【Git】基本コマンド](https://qiita.com/konweb/items/621722f67fdd8f86a017)

GitHub共有

- [GitHubで特定のリポジトリを複数人で共有する方法](https://reasonable-code.com/github-collaborators/)
- [チーム開発初心者のためのGitHub共有方法](https://qiita.com/key_it6/items/eff223ff5427438c9775)
- [GitHub – プライベートリポジトリにユーザーを招待して共有する方法](https://howpon.com/5035)

Slack設定

- [チャンネルを作成する](https://slack.com/intl/ja-jp/help/articles/201402297)

- [共有チャンネルを作成する](https://slack.com/intl/ja-jp/help/articles/360035092414)
##終わりに

頭で理解するのと書き起すのが違くてこまーる
_(:3 」∠)_ぐぁーあ
画像等は実装時に随時追加していくので参考ページにてご確認ください。