GitLabとは
今回は具体的にコード管理に焦点を当てて説明していきます。
コード管理するときに知っておきたい単語
リポジトリ(Repository)
リポジトリは、Gitで管理されるプロジェクトやコードベースのデータストアです。通常、ソースコード、ファイル、ディレクトリ、履歴、ブランチなどの情報が含まれます。リポジトリは、プロジェクトのすべての変更とバージョン履歴を保存します。
コミット(Commit)
コミットは、リポジトリに変更を適用する単位です。変更内容を記録し、バージョン履歴に追加します。コミットメッセージは、その変更内容や目的を説明するために使用されます。
ブランチ(Branch)
ブランチは、コードベースの分岐または派生のコピーです。新しい機能の開発、バグ修正、実験などの目的でブランチを作成し、変更を適用できます。主要なブランチは通常「master」または「main」と呼ばれます。
マージ(Merge)
マージは、異なるブランチの変更を統合するプロセスです。コードベースの異なるブランチでの変更を結合して、一つのブランチに反映させることができます。
プッシュ(Push)
プッシュは、ローカルのコミットをリモートリポジトリにアップロードする操作です。これにより、他の開発者とコードの変更を共有できます。
プル(Pull)
プルは、リモートリポジトリからローカルリポジトリに変更を取得する操作です。他の開発者がリモートで行った変更をローカルリポジトリに反映します。
マージリクエスト(Merge Request)
プルリクエストは、コードの変更を提案し、レビューを受けるための仕組みです。通常、コードの変更が他の開発者によって確認され、マージされる前に行われます。
コンフリクト(Conflict)
コンフリクトは、複数のブランチやコミットで競合する変更がある場合に発生します。競合を解決するために、開発者は手動で変更を調整する必要があります。
ステージ(Stage)
ステージは、コミットに含める変更を選択する作業のことです。Gitでは、変更をステージングエリアに追加してからコミットできます。
フェッチ(Fetch)
フェッチは、リモートリポジトリから情報を取得する操作で、リモートの最新情報をローカルリポジトリに取り込みますが、マージは行いません。
基本的なマージフロー
ここでは、登場人物が2人出てきます。
課題作成者とマージリクエスト承認者が🔴、課題対応者が🔵にします。
- 🔴issue作成。issueのタイトル・内容はわかりやすいようにする。
- タイトル:【新規作成】ホーム画面作成
- 【バグ修正】ホーム画面検索ボタン修正
- 内容 :マークダウンでテンプレートを作成しておく。
- 担当者 :担当者を🔵に設定する
- 課題期限:課題の期限を決める。管理の意味も込めて3日程度が良い。
- 🔵devブランチをPullし、ブランチを切る
- ブランチ名:#issue番号-対応内容
- 🔵対応…
- 🔵対応完了後、Commitする
- comment:#issue番号-対応内容
- 🔵MergeRequest作成
- タイトル:commitcommentが入ってるのでそのままにする
- 担当者 :担当者を🔴に設定する
- Merge後にブランチを削除する:チェックマークを入れる
- 🔴MR内容を確認する
- コードで直してほしい箇所がある場合は指摘コメントを入れ、担当者を🔵に戻す
- Mergeしてもよい状態であれば「LGTM」を明記し担当者を🔵に戻す
- 🔵LGTMが来ていればマージする
- コンフリクトが起きてる場合は直す
- Merge後、issueの担当者🔴に戻す
- Merge完了を確認し、🔴はissueをクローズする