実務未経験者の人に読んでほしいGitHubの実務tips

## 更新履歴

###  2024-09-05
- masterをmainブランチにし、masterに対する言及をしました。

https://github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main/

- httpsかsshか、についてはいろんな見方があることを追記

https://qiita.com/yamadagenki/items/5e4ee79a7a680b1675e8#comment-530951f8a5c241da8b3e

https://qiita.com/yamadagenki/items/5e4ee79a7a680b1675e8#comment-bf321c65c934125a21a4

- 「PRの作成ボタンを押したら終わりではない」の項目を追加

## はじめに

株式会社シンシアでは、実務未経験のエンジニアの方や学生エンジニアインターンを採用し一緒に働いています。

※ シンシアにおける働き方の様子はこちら 

https://www.wantedly.com/companies/xincere-inc/stories

この記事は

- プログラミングを学び出したばかりの人
- エンジニアとして働きだしてGitHubを使い慣れていない人

という人向けに、共通してやってほしいなと思って、いつも言っていることを一般向けに書いたものです。
ぜひ読んで見ていただけると嬉しいです。

※ Githubとはなにか、具体的なGitの操作に関してはこの記事では割愛させていただきます。

## git cloneするとき

Githubでは、`https`, `ssh`による`git clone`ができます。
基本的に、httpsでgit cloneすると毎回パスワードを聞かれて面倒です。

実務でやるときは、いちいちパスワードを聞かれるのが面倒なので

- sshの設定

https://qiita.com/rorensu2236/items/df7d4c2cf621eeddd468

- httpsでパスワードを保存する設定

https://zenn.dev/2lu3/articles/940dc902d9fadf

https://qiita.com/silv224/items/953df547da88dd0b170b

なお、個人的には複数のgithubアカウントを使ったり、GitLabなど他のGitサービスを併用する場合もあるので、sshが楽だなという気持ちです。

ssh接続でgit cloneするためには、

https://qiita.com/shizuma/items/2b2f873a0034839e47ce

なお、鍵の作り方はこれを参考にするとよいです。

https://qiita.com/suthio/items/2760e4cff0e185fe2db9

## ブランチを切る時

作業を始めるまえに、gitでは作業ブランチを切って作業するのが一般的です。

### ブランチを切る前に

**ブランチを切る前に、必ず切る元のブランチを最新にしてください。**

※ 基本的には、チームの方針に従ってください。この記事が必ずしも正解じゃない場合があります。

※ おそらくブランチを切る元は、main(古いプロジェクトだとmaster)かdevelopブランチです。（詳しくはチームの人に聞いて下さい）

以上です。

https://qiita.com/shuntaro_tamura/items/6c8bf792087fe5dc5103

### ブランチ名は適当ではよくない

チームのルールや連携しているツールにもよりますが`git flow`や`github flow`で運用しているチームが多いです。

`feature/*****`とかでブランチを切るのが一般的です。

https://qiita.com/KosukeSone/items/514dd24828b485c69a05

https://qiita.com/tatane616/items/aec00cdc1b659761cf88

## コミットをする時

ブランチ名を切る時と同じように、コミットメッセージも適当ではいけません。

1行で完結にかけばいいと思うので、下記の記事を参考にしてください

https://qiita.com/numanomanu/items/45dd285b286a1f7280ed

## PRを作成するとき

通常の開発ではプロジェクト管理ツールを使っています。

プロジェクト管理ツールについては下記を読んでください。

https://qiita.com/yamadagenki/items/08320fd0fb7f3a8ee7b2

プロジェクト管理ツールを使う時、チケットというものがあって、PRのマージとともにチケットをクローズしてほしいものです。とても便利なので良いです。

- github projectsを使っている場合

https://qiita.com/mabots/items/0feb48148878ac6dc4cd

`close #34`のようにかけばOKです

- JIRAを使っている場合

https://github.com/atlassian/github-for-jira/issues/292

- backlogを使っている場合

いまのところ知りません。どなたかコメントとかで教えていただけますとm(_ _)m

### PRの作成ボタンを押したら終わりではない

※ この作業はPRの作成ボタンを押す前に行うのを推奨しますが、PRを押したあとにも確認をしたほうがいいです。

PR作成ボタンを押したら終わりではありません。

- 意図しないファイルがGitに上がっていないか
- そもそも修正漏れ・変なところがないか

をセルフレビューする習慣をつけましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69406/1db173db-5f6a-bae1-3019-e63353dc4da1.png)


### ちょっと脇道

PRを出すときに、レビューする方が見やすいように、PRの説明文を書いたほうがいいです。

※ PRは偉い人に見てもらって許可をもらうためのフローではなく、あくまでもコードを複数人でチェックしてコードの品質向上・バグの軽減を目的とした行為です。効率的にレビューするための工夫が必要です。

PRを作るときにテンプレートを用意しておくと良いと思います。

https://qiita.com/atsutama/items/03753925762fd094ec9c

## コンフリクトが発生したら

https://qiita.com/penpenta/items/08b59f4b788ca2ae1c07

## PRをマージする時

マージには3種類のマージ方法があります。
チームの方針に従いましょう。

https://qiita.com/tonnsama/items/2baca909d39dc9e23b07

## 最後に

株式会社シンシアでは、随時エンジニアを募集しています。
一緒に、世の中のイケてるエンジニアを増やすという目標に対してコミットしてくれる方はぜひご応募ください。
よろしくお願いします。

https://www.wantedly.com/projects/1979401