ファイルのロック
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
ファイルのロックにより、複数のユーザーが同じファイルを同時に編集できなくなり、マージコンフリクトの回避に役立ちます。ファイルのロックは、設計ファイル、ビデオ、その他のテキスト以外のコンテンツなど、マージできないバイナリファイルに特に役立ちます。
GitLabは、2種類のファイルのロックをサポートしています:
- 排他的ファイルのロック: Git LFSと
.gitattributesを使用してコマンドラインから適用されます。これらのロックは、任意のブランチ上のロックされたファイルの変更を防ぎます。 - デフォルトブランチのファイルとディレクトリのロック: GitLab UIから適用されます。これらのロックは、デフォルトのブランチ上にあるファイルとディレクトリの変更のみを防ぎます。
権限
ファイルロックを作成、表示、または管理するには、プロジェクトのデベロッパーロール以上が必要です。詳細については、ロールと権限を参照してください。
デフォルトブランチのファイルとディレクトリのロック
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
デフォルトブランチのロックは、プロジェクト設定で設定されたdefault branchにのみ適用されます。これらのロックは、他のブランチでの共同作業者のワークフローをブロックすることなく、デフォルトブランチの安定性を維持するのに役立ちます。
ユーザーによってファイルまたはディレクトリがロックされている場合:
- ロックを作成したユーザーのみが、デフォルトブランチ上のファイルまたはディレクトリを変更できます。
- 他のユーザーの場合、ロックされたファイルまたはディレクトリは、デフォルトブランチ上で読み取り専用になります。
- デフォルトブランチ上のロックされたファイルまたはディレクトリへの直接の変更はブロックされます。
- ロックされたファイルまたはディレクトリを変更するマージリクエストは、デフォルトブランチにマージできません。
デフォルト以外のブランチでは、すべてのユーザーがロックされたファイルとディレクトリを変更できます。これらのファイルとディレクトリには、ロックステータスが表示されます。これにより、チームメンバーは、他のブランチでのワークフローを制限することなく、進行中の作業を認識できます。
ファイルのロックは、フォークの同期中にも回避されます。フォークを更新をアップストリームプロジェクトからフォークした場合、フォーク内のロックされたファイルは、アップストリームプロジェクトからの変更で上書きできます。
ファイルまたはディレクトリをロックする
前提要件:
- プロジェクトのデベロッパーロール以上を持っている必要があります。
ファイルまたはディレクトリをロックするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- ロックするファイルまたはディレクトリに移動します。
- 右上隅でロックを選択します。
- 確認ダイアログで、OKを選択します。
ロックが有効になっていない場合は、ファイルをロックするために必要な権限がありません。
ディレクトリをロックしたユーザーを表示するには(自分がロックしたのではない場合)、ボタンにカーソルを合わせるます。ロックされたファイルと同様の機能の復元については、issue 376222で説明されています。
アクションメニューからのファイル操作
ファイルをロックするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- ロックするファイルに移動します。
- 右上隅のファイル名の横にあるアクション( )> ロックを選択します。
- 確認ダイアログで、OKを選択します。
ファイルをロックする権限がない場合、メニュー項目は無効になります。
ロックされたファイルを表示
前提要件:
- プロジェクトのデベロッパーロール以上を持っている必要があります。
ロックされたファイルを表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > ロックされたファイルを選択します。
ロックされたファイルページには、Git LFS排他的ロックまたはGitLab UIのいずれかでロックされているすべてのファイルが表示されます。
ファイルのロックを解除
前提要件:
- 次のいずれかの条件を満たす必要があります:
- ロックを作成したユーザーである必要があります。
- プロジェクトのメンテナー以上のロールを持っている必要があります。
ロックを解除するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- ロック解除するファイルに移動します。
- ロック解除を選択します。
- 確認ダイアログで、ロック解除を選択します。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > ロックされたファイルを選択します。
- ロックを解除するファイルの右側にあるロック解除を選択します。
- 確認ダイアログで、OKを選択します。