正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

ファイル管理

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab UIは、Gitの履歴と追跡する機能を、ブラウザで利用できるユーザーフレンドリーな機能で拡張します。次のことができます:

  • ファイルを検索します。
  • ファイルの処理を変更します。
  • ファイル全体の履歴、または単一行を探索します。

UIでのファイルタイプのレンダリングを理解する

これらのタイプのファイルをプロジェクトに追加すると、GitLabは読みやすさを向上させるためにその出力をレンダリングします:

  • GeoJSONファイルはマップとして表示されます。
  • Jupyter NotebookファイルはレンダリングされたHTMLとして表示されます。
  • 多くのマークアップ言語のファイルは表示用にレンダリングされます。

サポートされているマークアップ言語

ファイルにこれらのファイル拡張子のいずれかがある場合、GitLabはファイルのマークアップ言語の内容をUIにレンダリングします。

マークアップ言語拡張機能
プレーンテキストtxt
Markdownmdownmkdmkdnmdmarkdown
reStructuredTextrst
AsciiDocadocadasciidoc
Textiletextile
Rdocrdoc
Org modeorg
creolecreole
MediaWikiwikimediawiki

Readmeとインデックスファイル

リポジトリにREADMEindex、または_indexファイルが存在する場合、GitLabはその内容をレンダリングします。これらのファイルは、プレーンテキストであるか、サポートされているマークアップ言語の拡張子を持つことができます。

自動レンダリングの優先順位は次のとおりです:

  • プレビュー可能なファイル: README.mdindex.md_index.mdなど。
  • プレーンテキストファイル: READMEindex_indexなど。

各カテゴリで見つかった最初のファイル(アルファベット順)が選択され、プレビュー可能なファイルがプレーンテキストファイルよりも優先されます。たとえば、複数のReadmeが利用可能な場合、GitLabはそれらを次の順序でレンダリングします:

  1. README.adoc
  2. README.md
  3. README.rst
  4. README

OpenAPIファイルをレンダリングする

GitLabは、ファイル名にopenapiまたはswaggerが含まれ、拡張子がyamlyml、またはjsonである場合に、OpenAPI仕様ファイルをレンダリングします。これらの例はすべて正しいです:

  • openapi.ymlopenapi.yamlopenapi.json
  • swagger.ymlswagger.yamlswagger.json
  • OpenAPI.YMLopenapi.Yamlopenapi.JSON
  • openapi_gitlab.ymlopenapi.gitlab.yml
  • gitlab_swagger.yml
  • gitlab.openapi.yml

OpenAPIファイルをレンダリングするには:

  1. リポジトリでOpenAPIファイルを検索します
  2. レンダリングされたファイルを表示を選択します。
  3. オペレーションリストにoperationIdを表示するには、displayOperationId=trueをクエリ文字列に追加します。

displayOperationIdがクエリ文字列に存在し、何らかの値を保持する場合、trueと評価されます。この動作は、Swaggerのデフォルト動作と一致します。

ファイルのGitの記録を表示する

リポジトリ内のファイルに関する履歴情報は、GitLab UIで利用できます:

  • Gitファイルの履歴: ファイル全体のコミット履歴を表示します。
  • Git blame: テキストベースのファイルの各行と、その行を変更した最新のコミットを表示します。

permalinkは、リポジトリ内の特定のファイル、ディレクトリ、またはコードセクションを指す永続的なURLです。リポジトリが変更されても有効なままであり、ドキュメント、イシュー、またはマージリクエストでコードを共有および参照するのに理想的です。

permalinkを作成するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. リンクしたいファイルまたはディレクトリに移動します。
  3. オプション。オプション。特定のコード選択の場合:
    • Single line: 行番号を選択します。
    • Multiple lines: 最初の行番号を選択し、Shiftを押しながら最後の行番号を選択します。
    • Markdown anchor: 見出しにカーソルを合わせると、アンカーリンク( link )が表示されるので、それを選択します。
  4. アクション ellipsis_v )を選択し、次にCopy Permalinkを選択します。あるいは、yを押します。その他のショートカットについては、キーボードショートカットを参照してください。

ファイルのオープンマージリクエストを表示する

この機能の利用可能性は機能フラグによって制御されます。詳細については、履歴を参照してください。

リポジトリファイルを表示すると、GitLabは現在のブランチをターゲットとし、ファイルを変更するオープンマージリクエストの数を示すバッジを表示します。これにより、保留中の変更があるファイルを特定できます。

ファイルに対するオープンマージリクエストを表示するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 表示したいファイルに移動します。
  3. 画面の右上、ファイル名の隣にある、 merge-request-open オープンマージリクエストの数を示す緑色のバッジを探します。
  4. バッジを選択すると、過去30日間に作成されたオープンマージリクエストの一覧が表示されます。
  5. リスト内のマージリクエストを選択すると、そのマージリクエストに移動します。

ファイルを検索する

GitLab UIから直接リポジトリ内のファイルを検索するためにファイルファインダーを使用します。ファイルファインダーはあいまい検索を使用し、入力中に結果をハイライト表示します。

ファイルを検索するには、プロジェクト内の任意の場所でtを押すか、次の手順を実行します:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。

  2. 左サイドバーで、コード > リポジトリを選択します。

  3. 右上で、ファイルを検索を選択します。

  4. ダイアログで、ファイル名の入力を開始します:

    ファイルを検索ボタン

  5. オプション。オプション。検索オプションを絞り込むには、Command+Kを押すか、ダイアログの右下にあるCommandsを選択します:

    • ページまたはアクションの場合、>を入力します。
    • ユーザーの場合、@を入力します。
    • プロジェクトの場合、:を入力します。
    • ファイルの場合、~を入力します。
  6. ドロップダウンリストからファイルを選択し、リポジトリで表示します。

ファイルページに戻るには、Escを押します。

この機能はfuzzaldrin-plusライブラリを使用しています。

Gitがファイルを処理する方法を変更する

ファイルまたはファイルタイプのデフォルトの処理を変更するには、.gitattributesファイルを作成します。.gitattributesファイルを使用して以下を実行します:

トラブルシューティング

リポジトリ言語: 過剰なCPU使用率

リポジトリのファイルにどの言語が含まれているかを判断するために、GitLabはRuby gemを使用します。gemがファイルを解析するしてそのファイルタイプを判断すると、そのプロセスは過剰なCPUを使用する可能性があります。gemには、どのファイル拡張子を解析するかを定義するヒューリスティックな設定ファイルが含まれています。これらのファイルタイプは過剰なCPUを消費する可能性があります:

  • .txt拡張子を持つファイル。
  • gemで定義されていない拡張子を持つXMLファイル。

この問題を修正するには、.gitattributesファイルを編集し、特定のファイル拡張子に言語を割り当てます。このアプローチを使用して、誤って識別されたファイルタイプを修正することもできます:

  1. 指定する言語を識別します。gemには、既知のデータタイプの設定ファイルが含まれています。

  2. たとえば、テキストファイルのエントリを追加するには:

    Text:
      type: prose
      wrap: true
      aliases:
      - fundamental
      - plain text
      extensions:
      - ".txt"
  3. リポジトリのルートに.gitattributesを追加または編集します:

    *.txt linguist-language=Text

    *.txtファイルにはヒューリスティックファイルにエントリがあります。この例では、これらのファイルの解析を防止します。