開発帳は、社内の Git リポジトリと開発の置き場です。コードの閲覧・履歴と差分・課題・マージリクエスト (レビューと承認、保護ブランチ) を、この箱で使えます。GitLab の代わりに使えます。
- 言箱のアカウントのまま使います。画面に別のログインはありません。git の clone・push だけは、開発帳で作る アクセストークン を使います。
- 課題の担当・@メンション・レビューの依頼などは、言箱の 通知 に届きます。
はじめに (管理者)
- リポジトリを作れるのは言箱の担当者以上です。「一般」の人は、コードを読む・課題やコメントを書くだけです。
- GitLab などから移すときは 取り込み を使います (下の「データ・控え」)。
- リポジトリの 設定 で決めておきます。
- 公開範囲: 全員が見られる (書き込みはメンバーだけ) か メンバーだけ
- メンバー: 人か部署ごとに 読み取り / 書き込み / 管理
- 保護ブランチ:
main などは、直接 push できるのを「管理」の人だけにし、マージに要る承認の数 (0〜3) を決めます。強制 push と削除はだれもできません。 - 開発帳には SSH・CI・Webhook・Wiki・Git LFS・フォークはありません。
はじめに (使う人)
- 左の アクセストークン › トークンを作る。範囲 (読み書き / 読み取り) と期限を選びます。トークンは 1 回しか表示されないので、すぐ控えます。
- リポジトリの画面の右上にある clone の URL を写します。
- git で clone します。ユーザー名は 言箱のユーザー名、パスワードは トークン です。
git clone http://<箱の住所>/apps/kaihatsu/git/<リポジトリ名>.git
git config --global credential.helper manager # Windows (毎回入れないために)
git config --global credential.helper osxkeychain # Mac
- 新しいリポジトリは、左の リポジトリ の画面の右上の 新しいリポジトリ で作ります。「README.md を作って始める」に印を付けると、すぐ clone できます。
よく使う操作
変更をレビューしてもらう (マージリクエスト)
- ブランチを作って push します (
git push -u origin feature/新しい画面)。 - リポジトリの マージリクエスト › 新しいマージリクエスト で、ソースと対象のブランチを選んで出します。
- レビューを頼む で、見てほしい人を選びます (その人に通知が届きます)。
- レビューする人は、変更 のタブで差分を見て、コメントか 承認する。
- 決まった数の承認がそろったら マージする。ソースのブランチを消すこともできます。競合したときは、画面に競合したファイルと直し方が出ます。
課題
- 課題 › 新しい課題 で書きます。札・担当・
@名前 を付けられます。 - コミットのメッセージに「fixes #12」「closes #3」「#5 を修正」と書いて既定のブランチに入れると、その課題が閉じます。
- 本文の
#12 は課題、!3 はマージリクエスト、7 桁以上の英数字はコミットへのリンクになります。
コードを見る
- コード: ブランチ・タグを選んでフォルダとファイルを見ます。ZIP でダウンロードもできます。
- 履歴: 日ごとのコミットと差分。ブランチ: 既定のブランチとの進み・遅れ。動き: push・課題・マージの流れ。
困ったとき
- git で認証に失敗する: パスワードの欄にはトークンを入れます。トークンの期限切れ・取り消しのときは作り直してください。言箱で無効になった人のトークンは使えません。
- 保護ブランチに push できない: 直接 push できるのは「管理」の人だけです。ブランチを分けてマージリクエストを出してください。
- リポジトリが見えない: 「メンバーだけ」のリポジトリです。リポジトリの管理の人にメンバーへの追加を頼んでください。
- トークンが漏れたかもしれない: アクセストークン の一覧で、すぐ 取り消す を押します。
- 消したリポジトリを戻したい: 管理者が ごみ箱 から戻せます。
データ・控え
- リポジトリと課題はすべてこの箱の中に置きます。
- 書き出し: リポジトリの 設定 の書き出しで、git bundle (
git clone <名前>.bundle で戻せます)、課題・マージリクエストの JSON / CSV を作れます。 - 取り込み (担当者以上): 左の 取り込み で次から新しいリポジトリを作ります。
- git の URL (と GitLab などのトークン)
- git bundle のファイル
- 控え帳の GitLab の書き出し ZIP (課題・マージリクエストも、元の番号のまま移ります)
- GitLab が止まっていても、控え帳に控えがあれば移せます。
- GitLab の CI (
.gitlab-ci.yml) は開発帳では動きません。