ファイル管理
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab UIは、ブラウザで使いやすい機能により、Gitの履歴と追跡の機能を拡張します。次のことができます:
- ファイルを検索します。
- ファイルの処理方法を変更します。
- ファイル全体の履歴、または1行を調査します。
UIでのファイルの種類のレンダリング方法を理解する
これらの種類のファイルをプロジェクトに追加すると、GitLabは読みやすさを向上させるためにその出力をレンダリングします:
- GeoJSONファイルはマップとして表示されます。
- Jupyter Notebookファイルは、レンダリングされたHTMLとして表示されます。
- 多くのマークアップ言語のファイルは、表示するためにレンダリングされます。
サポートされているマークアップ言語
ファイルにこれらのファイル拡張子のいずれかがある場合、GitLabはUIでファイルのマークアップ言語のコンテンツをレンダリングします。
| マークアップ言語 | 拡張機能 |
|---|---|
| プレーンテキスト | txt |
| Markdown | mdown、mkd、mkdn、md、markdown |
| reStructuredText | rst |
| AsciiDoc | adoc、ad、asciidoc |
| Textile | textile |
| Rdoc | rdoc |
| Org mode | org |
| creole | creole |
| MediaWiki | wiki、mediawiki |
READMEファイルとインデックスファイル
README、index、または_indexファイルがリポジトリに存在する場合、GitLabはそのコンテンツをレンダリングします。これらのファイルは、プレーンテキストまたはサポートされているマークアップ言語の拡張子を持つことができます。
自動レンダリングの優先順位は次のとおりです:
- プレビュー可能なファイル:
README.md、index.md、_index.mdなど - プレーンテキストファイル:
README、index、_indexなど
各カテゴリで最初に見つかったファイル(アルファベット順)が選択され、プレビュー可能なファイルがプレーンテキストファイルよりも優先されます。たとえば、複数のREADMEが利用可能な場合、GitLabは次の順序でレンダリングします:
README.adocREADME.mdREADME.rstREADME
OpenAPIファイルをレンダリングする
ファイル名にopenapiまたはswaggerが含まれ、拡張子がyaml、yml、またはjsonの場合、GitLabはOpenAPI仕様ファイルをレンダリングします。これらの例はすべて正しいです:
openapi.yml、openapi.yaml、openapi.jsonswagger.yml、swagger.yaml、swagger.jsonOpenAPI.YML、openapi.Yaml、openapi.JSONopenapi_gitlab.yml、openapi.gitlab.ymlgitlab_swagger.ymlgitlab.openapi.yml
OpenAPIファイルをレンダリングするには:
- ファイル検索でリポジトリ内のOpenAPIファイルを検索します。
- レンダリングされたファイルを表示を選択します。
- 操作リストに
operationIdを表示するには、displayOperationId=trueをクエリ文字列に追加します。
displayOperationIdがクエリ文字列に存在し、任意の値を持つ場合、trueと評価されます。この動作は、Swaggerのデフォルトの動作と一致します。
ファイルのGitレコードを表示
リポジトリ内のファイルに関する履歴情報は、GitLab UIで利用できます:
- Gitファイルの履歴: ファイル全体のコミット履歴を表示します。
- Git blame: テキストベースのファイルの各行と、その行を変更した最新のコミットを表示します。
パーマリンクを作成する
パーマリンクは、リポジトリ内の特定のファイル、ディレクトリ、またはコードのセクションを指す永続的なURLです。これらはリポジトリが変更されても有効なままであるため、ドキュメント、イシュー、またはマージリクエストでコードを共有および参照するのに理想的です。
パーマリンクを作成するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- リンクするファイルまたはディレクトリに移動します。
- オプション。特定のコードを選択する場合:
- Single line(単一行): 行番号を選択します。
- Multiple lines(複数行): 最初の行番号を選択し、Shiftキーを押しながら最後の行番号を選択します。
- Markdown anchor(Markdownアンカー): 見出しにカーソルを合わせると、アンカーリンク( )が表示されるので、それを選択します。
- アクション( )を選択し、Copy Permalink(パーマリンクをコピー) を選択します。または、yキーを押します。ショートカットの詳細については、キーボードショートカットを参照してください。
ファイルに対するオープンマージリクエストを表示
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
リポジトリファイルを表示すると、GitLabは、現在のブランチを対象にしてファイルを変更する、オープンなマージリクエストの数を示すバッジを表示します。これにより、保留中の変更があるファイルを特定できます。
ファイルに対するオープンマージリクエストを表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 表示したいファイルに移動します。
- 画面の右上にあるファイル名の横で、 オープンマージリクエストの数を示す緑色のバッジを探します。
- バッジを選択すると、過去30日間に作成されたオープンマージリクエストの一覧が表示されます。
- リスト内のマージリクエストを選択すると、そのマージリクエストに移動します。
ファイルを検索する
ファイルファインダーを使用して、GitLab UIからリポジトリ内のファイルを直接検索します。ファイルファインダーはあいまい検索を使用し、入力時に結果を強調表示します。
ファイルを検索するには、プロジェクト内の任意の場所でtキーを押すか、次の手順に従います:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
コード > リポジトリを選択します。
右上にあるファイルを検索を選択します。
ダイアログで、ファイル名の入力を開始します:
オプション。検索オプションを絞り込むには、Command+Kキーを押すか、ダイアログの右下隅にあるCommands(コマンド)を選択します:
- ページまたはアクションの場合は、>を入力します。
- ユーザーの場合は、@を入力します。
- プロジェクトの場合は、:を入力します。
- ファイルの場合は、~を入力します。
ドロップダウンリストから、リポジトリに表示するファイルを選択します。
ファイルページに戻るには、Escキーを押します。
この機能は、fuzzaldrin-plusライブラリを使用します。
Gitがファイルを処理する方法を変更する
ファイルまたはファイルタイプのデフォルトの処理を変更するには、.gitattributesファイルを作成します。.gitattributesファイルを使用して:
- 構文ハイライトや生成されたファイルを折りたたむなど、差分のファイル表示を構成します。
- 読み取り専用ファイルを作成したり、Git LFSで大きなファイルを格納するなど、ファイルのストレージと保護を制御します。
関連トピック
トラブルシューティング
リポジトリ言語: 過剰なCPU使用率
リポジトリのファイルで使用されている言語を判断するために、GitLabはRuby gemを使用します。gemがファイルを解析してそのファイルタイプを判断すると、プロセスが過剰なCPUを使用する可能性があります。このgemには、どのファイル拡張子を解析するかを定義するヒューリスティック設定ファイルが含まれています。これらのファイルタイプは、過剰なCPUを使用する可能性があります:
.txt拡張子のファイル。- gemで定義されていない拡張子を持つXMLファイル。
この問題を修正するには、.gitattributesファイルを編集し、特定のファイル拡張子に言語を割り当てます。このアプローチを使用して、誤って識別されたファイルタイプを修正することもできます:
指定する言語を識別します。このgemには、既知のデータ型の設定ファイルが含まれています。
たとえば、テキストファイルのエントリを追加するには:
Text: type: prose wrap: true aliases: - fundamental - plain text extensions: - ".txt"リポジトリのルートで
.gitattributesを追加または編集します:*.txt linguist-language=Text
*.txtファイルには、ヒューリスティックファイルにエントリがあります。この例では、これらのファイルの解析を防ぎます。
