はじめに
現在弊社では複数のインターン生がいます。
ほぼすべての案件でGitで開発を行っているため、インターン生にもGitを覚えてもらう必要があります。
社内向けのGitとGitを使った開発ワークフローの手順書として記述しました。
他の新人エンジニアの助けにもなれば幸いです。
Git
現在は言語やフレームワーク、領域に限らずGitの導入が進んでいて、どの分野についてもGitを使えるようになっておくことは重要です。
新人エンジニアにとってはまだまだ長いエンジニアライフが待っていて、早いうちにGitを使えるようなることはとても有意義です。
コマンドラインで使うGitとGUIツールがあるのですが、まずはGUIツールでのGit利用をおすすめしています。
その理由としてはGUIの方が圧倒的に理解が早いからです。特にGitの仕組みに慣れていない序盤はGUIツールを使うことで理解が早まります。
GUIツールとコマンドラインは併用が可能ですので、理解が進んでからコマンドラインも覚えていくとよいでしょう。
ここで利用するGUIツールはSourcetree1です。
Sourcetreeのインストール
Sourcetree公式サイトからSourcetreeをダウンロード、インストールします。
🍺HomeBrewを使っているひとはbrew cask
でのインストールもオススメです。
$ brew install cask sourcetree
Sourcetreeの設定
Gitのリポジトリを手元にクローンします。
スポットライト検索などでインストールしたSourcetreeを開きます。
上部メニューから設定(Preferences)
2を開きます。
デフォルトユーザー情報 の 名前 と メールアドレスを入力します。
プロジェクトフォルダを /Users/yousan/git
のようにホームディレクトリ直下にgit
ディレクトリを作成して指定します。34
リポジトリのクローン
リポジトリをクローンします。
まずGitリポジトリのURIを調べます。
GitHubの右側の「Clone or Download」からURIをコピーします。
Sourcetreeの画面にて、「新規 > URLからクローン」を選択します。
先ほどのURIを入力し、「クローン」します。
クローンが完了しました!
コーディング作業
実際にコーディングを行う際のワークフローについての説明です。
Git flowでのコミット
Git flowでコミットを行ってみます。
上部のメニューから「リポジトリ > Git flow/Hg flow > リポジトリの初期化」を選択します。
そのままOKします。5
下記のような状態になります。
実際の開発ではコードを修正してコミットします。
コミットはdevelop
ブランチではなく、自分のブランチに対して行います。
開発用のブランチを作成します。
「リポジトリ > Git flow/Hg flow > 次のアクション」を選択します。
「新規フィーチャーを開始」を選択します。
「フィーチャー名」にブランチ名を入力します。入力ルールは 年月
/ユーザ名
/機能名
を入力します。例えば2019年3月であれば年月は201903
となります。
ユーザ名にはGitHubのユーザ名を入力します。6
機能名
にはこれから実装する機能の簡単な説明を入力します。
2019年3月
にyousan
が作成する、index.jsのデフォルトパラメタの修正
ブランチは
201903/yousan/fix-index-default-prams
となります。
ここではfeature
というキーワードは入力しません。Sourcetreeが自動的に補完します。
Sourcetreeのサイドバーにブランチが作成されています。
コミットとプッシュ
ソースコードを実際に修正したらコミットを行います。
Sourcetree上部の「コミット」アイコンをクリックします。
コミットするファイルを選択し、下段にコミットメッセージを入力します。
「コミットを直ちにプッシュする」はチェックを入れておきます。
右下の「コミット」からコミットとプッシュが完了します。(Option + Enterでも可能です)
プルリクエストの作成
新人エンジニアに覚えてもらいたいPullRequestの書き方 - Qiita
作業が一通り完了したらプルリクエストを作成します。
左サイドバーのブランチリストから、作業が完了したブランチを右クリックします。
最下部にある「プルリクエストの作成」をクリックします。
GitHubの画面が開いたらプルリクエストの各種項目を入力します。
まずブランチを確認します。左側にdevelop
、右側に自分の作成したブランチを選択します。7
PRにタイトルを付けます。タイトルは簡潔に完結していて、わかりやすく日本語で記述します。8
右サイドバーのAssignee
を自分にしておきます。
本文にはブランチで行ったことを完結に記述します。
マークダウンが使えるので、リストやヘッダーを活用するのがおすすめです。
画像を入れたり確認できるURLも入れるとすごくよいです。
Issueに対しての修正(機能拡張、バグフィックス)だった場合、Fixes #123
とIssue番号を記述してください。
ここまでできたらプルリクエストを作成します。
上記の例はこちらにあります。
https://github.com/yousan/ex_micro/pull/2
プルリクエストが完了したら
プルリクエストの作成が完了したらSlackで報告してください。
お疲れ様でした!