[{"data":1,"prerenderedAt":1336},["ShallowReactive",2],{"/ja-jp/blog/whats-new-in-git-2-48-0":3,"navigation-ja-jp":555,"banner-ja-jp":984,"footer-ja-jp":992,"blog-post-authors-ja-jp-Christian Couder":1234,"blog-related-posts-ja-jp-whats-new-in-git-2-48-0":1249,"blog-promotions-ja-jp":1273,"next-steps-ja-jp":1327},{"id":4,"title":5,"authors":6,"body":8,"category":532,"date":533,"description":534,"extension":535,"externalUrl":536,"faq":536,"featured":537,"heroImage":538,"meta":539,"navigation":537,"path":540,"seo":541,"slug":546,"stem":547,"tags":548,"template":552,"updatedDate":553,"__hash__":554},"blogPosts/ja-jp/blog/whats-new-in-git-2-48-0.md","Git 2.48.0の新機能",[7],"Christian Couder",{"type":9,"value":10,"toc":521},"minimark",[11,22,27,48,57,72,75,91,94,193,203,221,228,232,241,244,247,252,256,283,298,312,319,322,337,340,355,358,361,381,390,393,398,405,414,417,429,436,440,454,457,466,471,474,483,512,515,517],[12,13,14,15,21],"p",{},"Gitプロジェクトは先日",[16,17,20],"a",{"href":18,"rel":19},"https://lore.kernel.org/git/xmqqplku7cvm.fsf@gitster.g/",[],"Git 2.48.0","をリリースしました。本記事では、GitLabのGitチームや幅広いGitコミュニティからのコントリビュートなど、このリリースにおけるハイライトをご紹介します。",[23,24,26],"h2",{"id":25},"mesonビルドシステム","Mesonビルドシステム",[12,28,29,30,35,36,41,42,47],{},"これまで長い間、Gitは",[16,31,34],{"href":32,"rel":33},"https://en.wikipedia.org/wiki/GNU_Make",[],"Makefile","ベースまたは",[16,37,40],{"href":38,"rel":39},"https://en.wikipedia.org/wiki/Autoconf",[],"Autoconf","ベースのビルドシステムのいずれかを使用してビルドできる仕組みになっていました。しかし、Gitデベロッパーの多くはMakefileベースのビルドシステムを主に利用しており、",[16,43,46],{"href":44,"rel":45},"https://lore.kernel.org/git/GV1PR02MB848925A79A9DD733848182D58D662@GV1PR02MB8489.eurprd02.prod.outlook.com/",[],"Autoconfベースのビルドシステムは機能やメンテナンスの面で後れ","を取っていました。また、Windowsデベロッパーがよく利用する統合開発環境（IDE）は、MakefileやAutoconfベースのビルドシステムを十分にサポートしていないという問題もありました。",[12,49,50,51,56],{},"2020年に",[16,52,55],{"href":53,"rel":54},"https://cmake.org/",[],"CMake","を使用したGitのビルドが可能になり、特にVisual Studio向けに、WindowsでのサポートやIDE統合が改善されました。また、out-of-sourceビルドなどのモダンなビルドシステムも追加されました。",[12,58,59,60,65,66,71],{},"しかし、最近ではCMakeのサポートも後れを取っており、前述の2つのビルドシステムを完全に置き換えるには適していない可能性が出てきました。こうした背景から、GitLabのGitエンジニアリングマネージャーである",[16,61,64],{"href":62,"rel":63},"https://gitlab.com/pks-gitlab",[],"Patrick Steinhardt","が、",[16,67,70],{"href":68,"rel":69},"https://mesonbuild.com/",[],"Meson","ビルドシステムを導入しました。これにより、最終的にAutoconf、CMake、そして場合によってはMakefileベースのビルドシステムを置き換えることが期待されています。",[12,73,74],{},"Mesonビルドシステムの主なメリットは以下のとおりです。",[76,77,78,82,85,88],"ul",{},[79,80,81],"li",{},"MakefileやCMakeでは難しいビルドオプションを簡単に確認できる",[79,83,84],{},"AutoconfやCMakeに比べてシンプルな構文",[79,86,87],{},"さまざまなOS、コンパイラ、IDEをサポート",[79,89,90],{},"out-of-sourceビルドなど、モダンなビルドシステムに対応",[12,92,93],{},"以下に、Mesonを使用したGitのビルド方法をご紹介します。",[95,96,101],"pre",{"className":97,"code":98,"language":99,"meta":100,"style":100},"language-shell shiki shiki-themes github-light","$ cd git                # Gitのソースコードのルートディレクトリに移動\n$ meson setup build/    # \"build\"をビルドディレクトリとして設定\n$ cd build              # \"build\"ディレクトリに移動\n$ meson compile         # Gitをビルド\n$ meson test            # 新しいビルドをテスト\n$ meson install         # 新しいビルドをインストール\n\n","shell","",[102,103,104,124,141,154,167,180],"code",{"__ignoreMap":100},[105,106,109,113,117,120],"span",{"class":107,"line":108},"line",1,[105,110,112],{"class":111},"s7eDp","$",[105,114,116],{"class":115},"sYBdl"," cd",[105,118,119],{"class":115}," git",[105,121,123],{"class":122},"sAwPA","                # Gitのソースコードのルートディレクトリに移動\n",[105,125,127,129,132,135,138],{"class":107,"line":126},2,[105,128,112],{"class":111},[105,130,131],{"class":115}," meson",[105,133,134],{"class":115}," setup",[105,136,137],{"class":115}," build/",[105,139,140],{"class":122},"    # \"build\"をビルドディレクトリとして設定\n",[105,142,144,146,148,151],{"class":107,"line":143},3,[105,145,112],{"class":111},[105,147,116],{"class":115},[105,149,150],{"class":115}," build",[105,152,153],{"class":122},"              # \"build\"ディレクトリに移動\n",[105,155,157,159,161,164],{"class":107,"line":156},4,[105,158,112],{"class":111},[105,160,131],{"class":115},[105,162,163],{"class":115}," compile",[105,165,166],{"class":122},"         # Gitをビルド\n",[105,168,170,172,174,177],{"class":107,"line":169},5,[105,171,112],{"class":111},[105,173,131],{"class":115},[105,175,176],{"class":115}," test",[105,178,179],{"class":122},"            # 新しいビルドをテスト\n",[105,181,183,185,187,190],{"class":107,"line":182},6,[105,184,112],{"class":111},[105,186,131],{"class":115},[105,188,189],{"class":115}," install",[105,191,192],{"class":122},"         # 新しいビルドをインストール\n",[12,194,195,198,199,202],{},[102,196,197],{},"meson setup \u003Cbuild_dir>","を使うことで、複数のビルドディレクトリを設定できます。また、ビルドディレクトリ内で",[102,200,201],{},"meson configure","を実行して、そのディレクトリのビルド構成を確認または変更できます。",[12,204,205,206,214,215,220],{},"詳しい手順は、Gitコードリポジトリの",[16,207,210,213],{"href":208,"rel":209},"https://gitlab.com/gitlab-org/git/-/blob/master/meson.build",[],[102,211,212],{},"meson.build","ファイル","の冒頭に記載されています。また、Gitで使用される",[16,216,219],{"href":217,"rel":218},"https://gitlab.com/gitlab-org/git/-/blob/master/Documentation/technical/build-systems.txt",[],"ビルドシステムの比較","は、Gitの技術ドキュメントで確認できます。",[12,222,223,224,227],{},"このプロジェクトは",[16,225,64],{"href":62,"rel":226},[],"が主導しました。",[23,229,231],{"id":230},"gitのメモリリーク完全解消テストスイートによる検証済み","Gitのメモリリーク完全解消（テストスイートによる検証済み）",[12,233,234,235,240],{},"前回のGit 2.47.0リリースに関するブログ記事で触れたように、GitLabでは",[16,236,239],{"href":237,"rel":238},"https://about.gitlab.com/blog/whats-new-in-git-2-47-0/#code-refactoring-and-maintainability-improvements",[],"プロジェクト内で発生したメモリリークの修正","に取り組んできました。その結果、Git 2.47.0リリース以前は、223のテストファイルで確認されていたメモリリークが、最終的に60ファイルまで削減されました。",[12,242,243],{},"その後、残りの60ファイルにおけるメモリリークもすべて解消され、テストスイートで検証された範囲では、Gitは完全にメモリリークがない状態となりました。この成果は、Git内部コンポーネントを内部ライブラリに「ライブラリ化（変換）」するという長年の目標に向け大きく前進したことを示しています。また、メモリ使用の最適化にもつながります。",[12,245,246],{},"今後、新たに追加されるテストはデフォルトでメモリリークがないことが求められます。リークを含むテストも可能ですが、その場合、作成者は例外的な処理を使用して、メモリリークを解消できない理由を明示する必要があります。",[12,248,223,249,227],{},[16,250,64],{"href":62,"rel":251},[],[23,253,255],{"id":254},"バンドルuriチェックの改善","バンドルURIチェックの改善",[12,257,258,259,264,265,270,271,276,277,282],{},"Git 2.46.0リリースに関するブログ記事で",[16,260,263],{"href":261,"rel":262},"https://lore.kernel.org/git/pull.1730.git.1715742069966.gitgitgadget@gmail.com/",[],"Xing Xin","による",[16,266,269],{"href":267,"rel":268},"https://about.gitlab.com/blog/whats-new-in-git-2-46-0/#bundle-uri-fixes",[],"バンドルURI修正","を取り上げました。 その後、Xing Xinは",[16,272,275],{"href":273,"rel":274},"https://lore.kernel.org/git/pull.1730.v8.git.1718770053.gitgitgadget@gmail.com/",[],"バンドルを使ったフェッチ","が、通常のフェッチと同様に",[16,278,281],{"href":279,"rel":280},"https://git-scm.com/docs/git-fsck",[],"fsck","メカニズムで完全に検証されるように改良しました。",[12,284,285,286,291,292,297],{},"通常のフェッチの検証では、",[16,287,290],{"href":288,"rel":289},"https://git-scm.com/docs/git-fsck#_fsck_messages",[],"異なるfsckの問題","に対して",[16,293,296],{"href":294,"rel":295},"https://git-scm.com/docs/git-fsck#Documentation/git-fsck.txt-fsckltmsg-idgt",[],"異なる重大度","を指定することで、特定のリポジトリにおいて何を許容し、何を拒否するかを細かく制御できます。しかし、これまでバンドルを使ったフェッチではこうした制御は不可能でした。",[12,299,300,305,306,311],{},[16,301,304],{"href":302,"rel":303},"https://git-scm.com/docs/bundle-uri",[],"バンドルURI","の有用性と安全性をさらに高めるために、",[16,307,310],{"href":308,"rel":309},"https://lore.kernel.org/git/20241121204119.1440773-1-jltobler@gmail.com/",[],"この問題を解決","し、バンドルを使ったフェッチの検証にも異なるfsck問題に対して異なる重大度を指定できるようにしました。",[12,313,223,314,227],{},[16,315,318],{"href":316,"rel":317},"https://gitlab.com/justintobler",[],"Justin Tobler",[23,320,321],{"id":321},"参照の整合性チェックを追加",[12,323,324,325,330,331,336],{},"Git 2.47.0リリースに関するブログ記事で、",[16,326,329],{"href":327,"rel":328},"https://summerofcode.withgoogle.com/archive/2024/projects/ukm4PTEF",[],"Google Summer of Code 2024","（GSoC 2024）の一環としてJialuo Sheが",[16,332,335],{"href":333,"rel":334},"https://about.gitlab.com/blog/whats-new-in-git-2-47-0/#new-subcommand-for-git-refs(1)",[],"「verify」サブコマンドをgit-refs(1)に追加","したことについて言及しました。",[12,338,339],{},"記事では、最終目標として、この新しいサブコマンドをgit-fsck(1)に統合し、リポジトリの整合性チェックを一元化できるようにすることを挙げました。GSoC終了後、Jialuo Sheはこの統合作業に着手しました。",[12,341,342,347,348,351,352,354],{},[16,343,346],{"href":344,"rel":345},"https://lore.kernel.org/git/ZrtrT1CPI4YUf5db@ArchLinux/",[],"この取り組み","の結果、git-fsck(1)は、参照の内容が不適切な場合や、シンボリック参照としてシンボリックリンクが使用された場合、ターゲットが無効な参照を指している場合など、参照に関連するさまざまな問題を検出し処理できるようになりました。git-fsck(1)の一部として",[102,349,350],{},"git refs verify","を呼び出し、git-fsck(1)が現在実行しているバックエンドに依存しないすべてのチェックを",[102,353,350],{},"が引き継ぐ必要がありますが、参照の整合性チェックを一元化するという最終目標に一歩近づきました。",[12,356,357],{},"このプロジェクトはJialuo Sheが主導しました。",[23,359,360],{"id":360},"reftableにおけるイテレータの再利用",[12,362,363,368,369,374,375,380],{},[16,364,367],{"href":365,"rel":366},"https://gitlab.com/gitlab-org/git/-/raw/master/Documentation/RelNotes/2.45.0.txt",[],"Git 2.45.0","のリリースでは、参照（主にブランチやタグ）を管理する新しいバックエンドとして「reftable」フォーマットが導入されました。reftableバックエンドについての詳細は、この機能を紹介している過去の",[16,370,373],{"href":371,"rel":372},"https://about.gitlab.com/ja-jp/blog/whats-new-in-git-2-45-0/",[],"Gitリリースに関するブログ記事","や、",[16,376,379],{"href":377,"rel":378},"https://about.gitlab.com/ja-jp/blog/a-beginners-guide-to-the-git-reftable-format/",[],"reftableの仕組みを詳しく解説した","初心者向けガイドをお読みください。",[12,382,383,384,389],{},"2.45.0以降もバックエンドの改良を重ね、最近では、",[16,385,388],{"href":386,"rel":387},"https://lore.kernel.org/git/cover.1730732881.git.ps@pks.im/",[],"内部イテレータの再利用","によってランダムな参照を読み取る際のパフォーマンスを向上させることに注力しました。こうした改善がなされるまでは、単一の参照を読み取るたびに新しいイテレータを作成し、対象のテーブル内の正しい位置を探してそこに移動させ、次の値を読み取る必要があり、多くの参照を短時間で読み取る際にはきわめて非効率でした。しかし、今回の変更により、単一のイテレータを作成し、それを再利用して複数の参照を読み取ることで、処理効率を高められるようになりました。",[12,391,392],{},"その結果、reftableに関連するさまざまなユースケースでパフォーマンスが向上しました。特に、ランダム読み取りが頻繁に実行されるトランザクション内で多くの参照を作成する際に、7%の速度向上が確認されています。また、この変更によって、イテレータ内で保持される状態をより多く再利用できるようになるため、最適化がさらに進むと予想できます。",[12,394,223,395,227],{},[16,396,64],{"href":62,"rel":397},[],[23,399,401,404],{"id":400},"git-refs-migrateにおけるreflog対応",[102,402,403],{},"git-refs migrate","におけるreflog対応",[12,406,407,408,413],{},"Git 2.46.0のリリース記事では、",[16,409,412],{"href":410,"rel":411},"https://about.gitlab.com/blog/whats-new-in-git-2-46-0/#tooling-to-migrate-reference-backends",[],"このツールに関する取り組み","に加え、いまだ存在する課題についても次のように言及しています。",[12,415,416],{},"「リポジトリ内のreflogは参照バックエンドのコンポーネントであり、フォーマット間の移行も必要となります。残念ながら、現時点ではツールを使用してファイルとreftableバックエンドの間でreflogを変換することはできません」",[12,418,419,424,425,428],{},[16,420,423],{"href":421,"rel":422},"https://lore.kernel.org/git/20241216-320-git-refs-migrate-reflogs-v4-0-d7cd3f197453@gmail.com/",[],"この課題はGit 2.48.0で解決","されました。\n",[102,426,427],{},"git refs migrate","を使うことでreflogの移行も可能になりました。複数のワークツリーを持つリポジトリを扱うことはまだできませんが、残された課題はこの一点のみであり、ワークツリーを使用していない場合は、既存のリポジトリでreftableバックエンドをすでに利用することが可能です。",[12,430,223,431,227],{},[16,432,435],{"href":433,"rel":434},"https://gitlab.com/knayakgl",[],"Karthik Nayak",[23,437,439],{"id":438},"ref-filterの最適化","Ref-filterの最適化",[12,441,442,443,446,447,446,450,453],{},"「ref-filter」サブシステムは、",[102,444,445],{},"git for-each-ref","、",[102,448,449],{},"git branch",[102,451,452],{},"git tag","といったコマンドで使用されるフォーマットコードで、Git参照に関連する情報を並べ替え、フィルタリング、フォーマット、表示する役割を担っています。",[12,455,456],{},"リポジトリの規模が大きくなるにつれて、扱う参照の数も増加します。そのため、reftableバックエンドなどの参照を保存するバックエンド（上記参照）の改善だけでなく、「ref-filter」サブシステムのようなフォーマットコードの最適化にも取り組んでいます。",[12,458,459,460,465],{},"今回、ref-filterのコードでバックエンドの順序通りに参照を処理すべき場合に、参照の一時的なバッファリングやイテレーション処理を不要にする",[16,461,464],{"href":462,"rel":463},"https://lore.kernel.org/git/d23c3e3ee7fdb49fcd05b4f2e52dd2a1cfdc10f2.1729510342.git.ps@pks.im/",[],"方法を特定","しました。この結果、メモリの節約が可能になり、特定のコマンドでは処理速度が最大で770倍も速くなるケースが確認されています。",[12,467,223,468,227],{},[16,469,64],{"href":62,"rel":470},[],[23,472,473],{"id":473},"補足情報",[12,475,476,477,482],{},"このブログ記事では、最新リリースにおけるGitLabや広範なGitコミュニティによるコントリビュートの一部をご紹介しました。詳細は、Gitプロジェクトの公式リリース発表をご覧いただくと詳細をご確認いただけます。また、",[16,478,481],{"href":479,"rel":480},"https://about.gitlab.com/blog/tags/git/",[],"これまでのGitリリースに関するブログ記事","では、GitLabチームの過去のコントリビュートもハイライトされていますので、ぜひご確認ください。",[76,484,485,493,500,506],{},[79,486,487,492],{},[16,488,491],{"href":489,"rel":490},"https://about.gitlab.com/blog/whats-new-in-git-2-47-0/",[],"Git 2.47.0の新機能","（英語）",[79,494,495,492],{},[16,496,499],{"href":497,"rel":498},"https://about.gitlab.com/blog/whats-new-in-git-2-46-0/",[],"Git 2.46.0の新機能",[79,501,502],{},[16,503,505],{"href":371,"rel":504},[],"Git 2.45.0の新機能",[79,507,508],{},[16,509,511],{"href":377,"rel":510},[],"初心者向けGit reftableフォーマットガイド",[513,514],"br",{},[513,516],{},[518,519,520],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":100,"searchDepth":126,"depth":126,"links":522},[523,524,525,526,527,528,530,531],{"id":25,"depth":126,"text":26},{"id":230,"depth":126,"text":231},{"id":254,"depth":126,"text":255},{"id":321,"depth":126,"text":321},{"id":360,"depth":126,"text":360},{"id":400,"depth":126,"text":529},"git-refs migrateにおけるreflog対応",{"id":438,"depth":126,"text":439},{"id":473,"depth":126,"text":473},"open-source","2025-01-10","Gitの最新バージョンについてご紹介します。新たなビルドシステムに加え、最適化された新しいreftableバックエンドが導入されました。また、GitLabのGitチームおよびGitコミュニティによるコントリビュートもご紹介します。","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663691/Blog/Hero%20Images/AdobeStock_752438815.jpg",{},"/ja-jp/blog/whats-new-in-git-2-48-0",{"title":5,"description":534,"ogTitle":5,"ogDescription":534,"noIndex":542,"ogImage":538,"ogUrl":543,"ogSiteName":544,"ogType":545,"canonicalUrls":543},false,"https://about.gitlab.com/blog/whats-new-in-git-2-48-0","https://about.gitlab.com","article","whats-new-in-git-2-48-0","ja-jp/blog/whats-new-in-git-2-48-0",[549,550,551],"git","open source","community","BlogPost","2025-02-13","y_ROgQxQN8gPlmMnbMXoC3-YhSvZEQ06EXuTJx9ZXvI",{"logo":556,"freeTrial":561,"sales":566,"login":571,"items":576,"search":904,"minimal":937,"duo":954,"switchNav":963,"pricingDeployment":974},{"config":557},{"href":558,"dataGaName":559,"dataGaLocation":560},"/ja-jp/","gitlab logo","header",{"text":562,"config":563},"無料トライアルを開始",{"href":564,"dataGaName":565,"dataGaLocation":560},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":567,"config":568},"デモをリクエスト",{"href":569,"dataGaName":570,"dataGaLocation":560},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":572,"config":573},"サインイン",{"href":574,"dataGaName":575,"dataGaLocation":560},"https://gitlab.com/users/sign_in/","sign in",[577,606,708,713,826,882],{"text":578,"config":579,"menu":581},"プラットフォーム",{"dataNavLevelOne":580},"platform",{"type":582,"columns":583},"cards",[584,590,598],{"title":578,"description":585,"link":586},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":587,"config":588},"プラットフォームの詳細はこちら",{"href":589,"dataGaName":580,"dataGaLocation":560},"/ja-jp/platform/",{"title":591,"description":592,"link":593},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":594,"config":595},"GitLab Duoのご紹介",{"href":596,"dataGaName":597,"dataGaLocation":560},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":599,"description":600,"link":601},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":602,"config":603},"詳細はこちら",{"href":604,"dataGaName":605,"dataGaLocation":560},"/ja-jp/why-gitlab/","why gitlab",{"text":607,"left":537,"config":608,"menu":610},"製品",{"dataNavLevelOne":609},"solutions",{"type":611,"link":612,"columns":616,"feature":687},"lists",{"text":613,"config":614},"すべてのソリューションを表示",{"href":615,"dataGaName":609,"dataGaLocation":560},"/ja-jp/solutions/",[617,642,665],{"title":618,"description":619,"link":620,"items":625},"自動化","CI/CDと自動化でデプロイを加速",{"config":621},{"icon":622,"href":623,"dataGaName":624,"dataGaLocation":560},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[626,630,633,638],{"text":627,"config":628},"CI/CD",{"href":629,"dataGaLocation":560,"dataGaName":627},"/ja-jp/solutions/continuous-integration/",{"text":591,"config":631},{"href":596,"dataGaLocation":560,"dataGaName":632},"gitlab duo agent platform - product menu",{"text":634,"config":635},"ソースコード管理",{"href":636,"dataGaLocation":560,"dataGaName":637},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":639,"config":640},"自動化されたソフトウェアデリバリー",{"href":623,"dataGaLocation":560,"dataGaName":641},"Automated software delivery",{"title":643,"description":644,"link":645,"items":650},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":646},{"href":647,"dataGaName":648,"dataGaLocation":560,"icon":649},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[651,655,660],{"text":652,"config":653},"アプリケーションセキュリティテスト",{"href":647,"dataGaName":654,"dataGaLocation":560},"Application security testing",{"text":656,"config":657},"ソフトウェアサプライチェーンセキュリティ",{"href":658,"dataGaLocation":560,"dataGaName":659},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":661,"config":662},"ソフトウェアコンプライアンス",{"href":663,"dataGaName":664,"dataGaLocation":560},"/ja-jp/solutions/software-compliance/","software compliance",{"title":666,"link":667,"items":672},"測定",{"config":668},{"icon":669,"href":670,"dataGaName":671,"dataGaLocation":560},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[673,677,682],{"text":674,"config":675},"可視性と測定",{"href":670,"dataGaLocation":560,"dataGaName":676},"Visibility and Measurement",{"text":678,"config":679},"バリューストリーム管理",{"href":680,"dataGaLocation":560,"dataGaName":681},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":683,"config":684},"分析とインサイト",{"href":685,"dataGaLocation":560,"dataGaName":686},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":688,"type":611,"items":689},"GitLabが活躍する場所",[690,696,702],{"text":691,"config":692},"大企業",{"icon":693,"href":694,"dataGaLocation":560,"dataGaName":695},"Building","/ja-jp/enterprise/","enterprise",{"text":697,"config":698},"スモールビジネス",{"icon":699,"href":700,"dataGaLocation":560,"dataGaName":701},"Work","/ja-jp/small-business/","small business",{"text":703,"config":704},"公共部門",{"icon":705,"href":706,"dataGaLocation":560,"dataGaName":707},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":709,"config":710},"価格",{"href":711,"dataGaName":712,"dataGaLocation":560,"dataNavLevelOne":712},"/ja-jp/pricing/","pricing",{"text":714,"config":715,"menu":717},"関連リソース",{"dataNavLevelOne":716},"resources",{"type":611,"link":718,"columns":722,"feature":815},{"text":719,"config":720},"すべてのリソースを表示",{"href":721,"dataGaName":716,"dataGaLocation":560},"/ja-jp/resources/",[723,756,783],{"title":724,"items":725},"はじめに",[726,731,736,741,746,751],{"text":727,"config":728},"インストール",{"href":729,"dataGaName":730,"dataGaLocation":560},"/ja-jp/install/","install",{"text":732,"config":733},"クイックスタートガイド",{"href":734,"dataGaName":735,"dataGaLocation":560},"/ja-jp/get-started/","quick setup checklists",{"text":737,"config":738},"学ぶ",{"href":739,"dataGaLocation":560,"dataGaName":740},"https://university.gitlab.com/","learn",{"text":742,"config":743},"製品ドキュメント",{"href":744,"dataGaName":745,"dataGaLocation":560},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":747,"config":748},"ベストプラクティスビデオ",{"href":749,"dataGaName":750,"dataGaLocation":560},"/ja-jp/getting-started-videos/","best practice videos",{"text":752,"config":753},"インテグレーション",{"href":754,"dataGaName":755,"dataGaLocation":560},"/ja-jp/integrations/","integrations",{"title":757,"items":758},"検索する",[759,764,769,774,778],{"text":760,"config":761},"お客様成功事例",{"href":762,"dataGaName":763,"dataGaLocation":560},"/ja-jp/customers/","customer success stories",{"text":765,"config":766},"ブログ",{"href":767,"dataGaName":768,"dataGaLocation":560},"/ja-jp/blog/","blog",{"text":770,"config":771},"Demo Hub",{"href":772,"dataGaName":773,"dataGaLocation":560},"/ja-jp/demo-hub/","demo hub",{"text":775,"config":776},"The Source",{"href":777,"dataGaName":768,"dataGaLocation":560},"/ja-jp/the-source/",{"text":779,"config":780},"リモート",{"href":781,"dataGaName":782,"dataGaLocation":560},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":784,"items":785},"つなげる",[786,791,796,800,805,810],{"text":787,"config":788},"GitLabサービス",{"href":789,"dataGaName":790,"dataGaLocation":560},"/ja-jp/services/","services",{"text":792,"config":793},"コントリビュート",{"href":794,"dataGaName":795,"dataGaLocation":560},"https://contributors.gitlab.com","contribute",{"text":797,"config":798},"コミュニティ",{"href":799,"dataGaName":551,"dataGaLocation":560},"/community/",{"text":801,"config":802},"フォーラム",{"href":803,"dataGaName":804,"dataGaLocation":560},"https://forum.gitlab.com/","forum",{"text":806,"config":807},"イベント",{"href":808,"dataGaName":809,"dataGaLocation":560},"/events/","events",{"text":811,"config":812},"パートナー",{"href":813,"dataGaName":814,"dataGaLocation":560},"/ja-jp/partners/","partners",{"config":816,"title":819,"text":820,"link":821},{"background":817,"textColor":818},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":822,"config":823},"最新情報を読む",{"href":824,"dataGaName":825,"dataGaLocation":560},"/ja-jp/whats-new/","whats new",{"text":827,"config":828,"menu":830},"企業情報",{"dataNavLevelOne":829},"company",{"type":611,"columns":831},[832],{"items":833},[834,839,845,847,852,857,862,867,872,877],{"text":835,"config":836},"GitLabについて",{"href":837,"dataGaName":838,"dataGaLocation":560},"/ja-jp/company/","about",{"text":840,"config":841,"footerGa":844},"採用情報",{"href":842,"dataGaName":843,"dataGaLocation":560},"/jobs/","jobs",{"dataGaName":843},{"text":806,"config":846},{"href":808,"dataGaName":809,"dataGaLocation":560},{"text":848,"config":849},"経営陣",{"href":850,"dataGaName":851,"dataGaLocation":560},"/company/team/e-group/","leadership",{"text":853,"config":854},"ハンドブック",{"href":855,"dataGaName":856,"dataGaLocation":560},"https://handbook.gitlab.com/","handbook",{"text":858,"config":859},"投資家向け情報",{"href":860,"dataGaName":861,"dataGaLocation":560},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":863,"config":864},"トラストセンター",{"href":865,"dataGaName":866,"dataGaLocation":560},"/ja-jp/security/","trust center",{"text":868,"config":869},"AI Transparency Center",{"href":870,"dataGaName":871,"dataGaLocation":560},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":873,"config":874},"ニュースレター",{"href":875,"dataGaName":876,"dataGaLocation":560},"/company/contact/#contact-forms","newsletter",{"text":878,"config":879},"プレス",{"href":880,"dataGaName":881,"dataGaLocation":560},"/press/","press",{"text":883,"config":884,"menu":885},"お問い合わせ",{"dataNavLevelOne":829},{"type":611,"columns":886},[887],{"items":888},[889,894,899],{"text":890,"config":891},"お問い合わせはこちら",{"href":892,"dataGaName":893,"dataGaLocation":560},"/ja-jp/sales/","talk to sales",{"text":895,"config":896},"サポートを受ける",{"href":897,"dataGaName":898,"dataGaLocation":560},"https://support.gitlab.com/hc/en-us","support portal",{"text":900,"config":901},"カスタマーポータル",{"href":902,"dataGaName":903,"dataGaLocation":560},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":905,"login":906,"suggestions":913},"閉じる",{"text":907,"link":908},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":909,"config":910},"GitLab.com",{"href":574,"dataGaName":911,"dataGaLocation":912},"search login","search",{"text":914,"default":915},"提案",[916,918,923,925,929,933],{"text":591,"config":917},{"href":596,"dataGaName":591,"dataGaLocation":912},{"text":919,"config":920},"コード提案（AI）",{"href":921,"dataGaName":922,"dataGaLocation":912},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":627,"config":924},{"href":629,"dataGaName":627,"dataGaLocation":912},{"text":926,"config":927},"GitLab on AWS",{"href":928,"dataGaName":926,"dataGaLocation":912},"/ja-jp/partners/technology-partners/aws/",{"text":930,"config":931},"GitLab on Google Cloud",{"href":932,"dataGaName":930,"dataGaLocation":912},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":934,"config":935},"GitLabを選ぶ理由",{"href":604,"dataGaName":936,"dataGaLocation":912},"Why GitLab?",{"freeTrial":938,"mobileIcon":942,"desktopIcon":947,"secondaryButton":950},{"text":562,"config":939},{"href":940,"dataGaName":565,"dataGaLocation":941},"https://gitlab.com/-/trials/new/","nav",{"altText":943,"config":944},"GitLabアイコン",{"src":945,"dataGaName":946,"dataGaLocation":941},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":943,"config":948},{"src":949,"dataGaName":946,"dataGaLocation":941},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":724,"config":951},{"href":952,"dataGaName":953,"dataGaLocation":941},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":955,"mobileIcon":959,"desktopIcon":961},{"text":956,"config":957},"GitLab Duoの詳細について",{"href":596,"dataGaName":958,"dataGaLocation":941},"gitlab duo",{"altText":943,"config":960},{"src":945,"dataGaName":946,"dataGaLocation":941},{"altText":943,"config":962},{"src":949,"dataGaName":946,"dataGaLocation":941},{"button":964,"mobileIcon":969,"desktopIcon":971},{"text":965,"config":966},"/switch",{"href":967,"dataGaName":968,"dataGaLocation":941},"#contact","switch",{"altText":943,"config":970},{"src":945,"dataGaName":946,"dataGaLocation":941},{"altText":943,"config":972},{"src":973,"dataGaName":946,"dataGaLocation":941},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":975,"mobileIcon":980,"desktopIcon":982},{"text":976,"config":977},"料金ページに戻る",{"href":711,"dataGaName":978,"dataGaLocation":941,"icon":979},"back to pricing","GoBack",{"altText":943,"config":981},{"src":945,"dataGaName":946,"dataGaLocation":941},{"altText":943,"config":983},{"src":949,"dataGaName":946,"dataGaLocation":941},{"title":985,"button":986,"config":990},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":602,"config":987},{"href":988,"dataGaName":989,"dataGaLocation":560},"/ja-jp/gitlab-orbit/","orbit",{"layout":991,"disabled":542},"release",{"data":993},{"text":994,"source":995,"edit":1001,"contribute":1006,"config":1011,"items":1016,"minimal":1225},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":996,"config":997},"ページのソースを表示",{"href":998,"dataGaName":999,"dataGaLocation":1000},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1002,"config":1003},"このページを編集",{"href":1004,"dataGaName":1005,"dataGaLocation":1000},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1007,"config":1008},"ご協力をお願いします",{"href":1009,"dataGaName":1010,"dataGaLocation":1000},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1012,"facebook":1013,"youtube":1014,"linkedin":1015},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1017,1062,1115,1158,1192],{"title":709,"links":1018,"subMenu":1033},[1019,1023,1028],{"text":1020,"config":1021},"プランの表示",{"href":711,"dataGaName":1022,"dataGaLocation":1000},"view plans",{"text":1024,"config":1025},"Premiumを選ぶ理由",{"href":1026,"dataGaName":1027,"dataGaLocation":1000},"/ja-jp/pricing/premium/","why premium",{"text":1029,"config":1030},"Ultimateを選ぶ理由",{"href":1031,"dataGaName":1032,"dataGaLocation":1000},"/ja-jp/pricing/ultimate/","why ultimate",[1034],{"title":883,"links":1035},[1036,1038,1040,1042,1047,1052,1057],{"text":883,"config":1037},{"href":892,"dataGaName":570,"dataGaLocation":1000},{"text":895,"config":1039},{"href":897,"dataGaName":898,"dataGaLocation":1000},{"text":900,"config":1041},{"href":902,"dataGaName":903,"dataGaLocation":1000},{"text":1043,"config":1044},"ステータス",{"href":1045,"dataGaName":1046,"dataGaLocation":1000},"https://status.gitlab.com/","status",{"text":1048,"config":1049},"利用規約",{"href":1050,"dataGaName":1051,"dataGaLocation":1000},"/terms/","terms of use",{"text":1053,"config":1054},"プライバシーに関する声明",{"href":1055,"dataGaName":1056,"dataGaLocation":1000},"/ja-jp/privacy/","privacy statement",{"text":1058,"config":1059},"Cookie 優先設定",{"dataGaName":1060,"dataGaLocation":1000,"id":1061,"isOneTrustButton":537},"cookie preferences","ot-sdk-btn",{"title":607,"links":1063,"subMenu":1072},[1064,1068],{"text":1065,"config":1066},"DevSecOpsプラットフォーム",{"href":589,"dataGaName":1067,"dataGaLocation":1000},"devsecops platform",{"text":1069,"config":1070},"AI支援開発",{"href":596,"dataGaName":1071,"dataGaLocation":1000},"ai-assisted development",[1073],{"title":1074,"links":1075},"トピック",[1076,1080,1085,1090,1095,1100,1105,1110],{"text":627,"config":1077},{"href":1078,"dataGaName":1079,"dataGaLocation":1000},"/ja-jp/topics/ci-cd/","cicd",{"text":1081,"config":1082},"GitOps",{"href":1083,"dataGaName":1084,"dataGaLocation":1000},"/ja-jp/topics/gitops/","gitops",{"text":1086,"config":1087},"DevOps",{"href":1088,"dataGaName":1089,"dataGaLocation":1000},"/ja-jp/topics/devops/","devops",{"text":1091,"config":1092},"バージョン管理",{"href":1093,"dataGaName":1094,"dataGaLocation":1000},"/ja-jp/topics/version-control/","version control",{"text":1096,"config":1097},"DevSecOps",{"href":1098,"dataGaName":1099,"dataGaLocation":1000},"/ja-jp/topics/devsecops/","devsecops",{"text":1101,"config":1102},"クラウドネイティブ",{"href":1103,"dataGaName":1104,"dataGaLocation":1000},"/ja-jp/topics/cloud-native/","cloud native",{"text":1106,"config":1107},"コーディングのためのAI",{"href":1108,"dataGaName":1109,"dataGaLocation":1000},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1111,"config":1112},"エージェント型AI",{"href":1113,"dataGaName":1114,"dataGaLocation":1000},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1116,"links":1117},"ソリューション",[1118,1121,1123,1128,1132,1135,1138,1141,1143,1145,1148,1153],{"text":652,"config":1119},{"href":647,"dataGaName":1120,"dataGaLocation":1000},"Application Security Testing",{"text":639,"config":1122},{"href":623,"dataGaName":624,"dataGaLocation":1000},{"text":1124,"config":1125},"アジャイル開発",{"href":1126,"dataGaName":1127,"dataGaLocation":1000},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1129,"config":1130},"SCM",{"href":636,"dataGaName":1131,"dataGaLocation":1000},"source code management",{"text":627,"config":1133},{"href":629,"dataGaName":1134,"dataGaLocation":1000},"continuous integration & delivery",{"text":678,"config":1136},{"href":680,"dataGaName":1137,"dataGaLocation":1000},"value stream management",{"text":1081,"config":1139},{"href":1140,"dataGaName":1084,"dataGaLocation":1000},"/ja-jp/solutions/gitops/",{"text":691,"config":1142},{"href":694,"dataGaName":695,"dataGaLocation":1000},{"text":697,"config":1144},{"href":700,"dataGaName":701,"dataGaLocation":1000},{"text":1146,"config":1147},"公共機関",{"href":706,"dataGaName":707,"dataGaLocation":1000},{"text":1149,"config":1150},"教育",{"href":1151,"dataGaName":1152,"dataGaLocation":1000},"/ja-jp/solutions/education/","education",{"text":1154,"config":1155},"金融サービス",{"href":1156,"dataGaName":1157,"dataGaLocation":1000},"/ja-jp/solutions/finance/","financial services",{"title":1159,"links":1160},"リソース",[1161,1163,1165,1167,1171,1173,1176,1178,1180,1182,1184,1186,1188,1190],{"text":727,"config":1162},{"href":729,"dataGaName":730,"dataGaLocation":1000},{"text":732,"config":1164},{"href":734,"dataGaName":735,"dataGaLocation":1000},{"text":737,"config":1166},{"href":739,"dataGaName":740,"dataGaLocation":1000},{"text":742,"config":1168},{"href":1169,"dataGaName":1170,"dataGaLocation":1000},"https://docs.gitlab.com/ja-jp","docs",{"text":765,"config":1172},{"href":767,"dataGaName":768,"dataGaLocation":1000},{"text":1174,"config":1175},"最新リリース",{"href":824,"dataGaName":825,"dataGaLocation":1000},{"text":760,"config":1177},{"href":762,"dataGaName":763,"dataGaLocation":1000},{"text":779,"config":1179},{"href":781,"dataGaName":782,"dataGaLocation":1000},{"text":787,"config":1181},{"href":789,"dataGaName":790,"dataGaLocation":1000},{"text":792,"config":1183},{"href":794,"dataGaName":795,"dataGaLocation":1000},{"text":797,"config":1185},{"href":799,"dataGaName":551,"dataGaLocation":1000},{"text":801,"config":1187},{"href":803,"dataGaName":804,"dataGaLocation":1000},{"text":806,"config":1189},{"href":808,"dataGaName":809,"dataGaLocation":1000},{"text":811,"config":1191},{"href":813,"dataGaName":814,"dataGaLocation":1000},{"title":1193,"links":1194},"会社情報",[1195,1197,1199,1201,1203,1205,1209,1214,1216,1218,1220],{"text":835,"config":1196},{"href":837,"dataGaName":829,"dataGaLocation":1000},{"text":840,"config":1198},{"href":842,"dataGaName":843,"dataGaLocation":1000},{"text":848,"config":1200},{"href":850,"dataGaName":851,"dataGaLocation":1000},{"text":853,"config":1202},{"href":855,"dataGaName":856,"dataGaLocation":1000},{"text":858,"config":1204},{"href":860,"dataGaName":861,"dataGaLocation":1000},{"text":1206,"config":1207},"Sustainability",{"href":1208,"dataGaName":1206,"dataGaLocation":1000},"/sustainability/",{"text":1210,"config":1211},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1212,"dataGaName":1213,"dataGaLocation":1000},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":863,"config":1215},{"href":865,"dataGaName":866,"dataGaLocation":1000},{"text":873,"config":1217},{"href":875,"dataGaName":876,"dataGaLocation":1000},{"text":878,"config":1219},{"href":880,"dataGaName":881,"dataGaLocation":1000},{"text":1221,"config":1222},"現代奴隷制の透明性に関する声明",{"href":1223,"dataGaName":1224,"dataGaLocation":1000},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1226},[1227,1229,1232],{"text":1048,"config":1228},{"href":1050,"dataGaName":1051,"dataGaLocation":1000},{"text":1230,"config":1231},"Cookieの設定",{"dataGaName":1060,"dataGaLocation":1000,"id":1061,"isOneTrustButton":537},{"text":1053,"config":1233},{"href":1055,"dataGaName":1056,"dataGaLocation":1000},[1235],{"id":1236,"title":7,"body":536,"config":1237,"content":1239,"description":536,"extension":1243,"meta":1244,"navigation":537,"path":1245,"seo":1246,"stem":1247,"__hash__":1248},"blogAuthors/en-us/blog/authors/christian-couder.yml",{"template":1238},"BlogAuthor",{"name":7,"config":1240},{"headshot":1241,"ctfId":1242},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663687/Blog/Author%20Headshots/chriscool-headshot.jpg","chriscool","yml",{},"/en-us/blog/authors/christian-couder",{},"en-us/blog/authors/christian-couder","6VsKjKNdm1XKAmFMZHj53ROyylDlxaSJhcARRkw6EQQ",[1250,1258,1266],{"title":1251,"description":1252,"heroImage":1253,"category":532,"date":1254,"authors":1255,"slug":1257,"externalUrl":536},"GitLab AIハッカソン2026：受賞者発表","約7,000人の開発者がGitLab Duo Agent Platform上で600以上のAIエージェントとフローを構築したハッカソンの結果をご紹介。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-04-22",[1256],"Nick Veenhof","gitlab-ai-hackathon-2026-meet-the-winners",{"title":1259,"description":1260,"heroImage":1261,"category":532,"date":1262,"authors":1263,"slug":1265,"externalUrl":536},"git mergeコマンドの基本を徹底解説","この記事では、git mergeコマンドについてコマンドの基本的な使い方からリクエストコードまで解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1754287290/averr2ecwl01q2f9lknf.jpg","2025-08-04",[1264],"GitLab Team","git-merge-command-overview",{"title":1267,"description":1268,"heroImage":1269,"category":532,"date":1270,"authors":1271,"slug":1272,"externalUrl":536},"オープンソースソフトウェア（OSS）とは？詳しく解説​","オープンソースの意味や、メリットとデメリットについて、分かりやすく解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752720740/g9x8oi988xuhioglpczi.jpg","2025-07-17",[1264],"what-is-open-source",{"promotions":1274},[1275,1289,1301,1313],{"id":1276,"categories":1277,"header":1279,"text":1280,"button":1281,"image":1286},"ai-modernization",[1278],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1282,"config":1283},"AI成熟度スコアを確認する",{"href":1284,"dataGaName":1285,"dataGaLocation":768},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1287},{"src":1288},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1290,"categories":1291,"header":1293,"text":1280,"button":1294,"image":1298},"devops-modernization",[1292,1099],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1295,"config":1296},"DevOps成熟度スコアを確認しましょう",{"href":1297,"dataGaName":1285,"dataGaLocation":768},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1299},{"src":1300},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1302,"categories":1303,"header":1305,"text":1280,"button":1306,"image":1310},"security-modernization",[1304],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1307,"config":1308},"セキュリティ成熟度スコアを確認しましょう",{"href":1309,"dataGaName":1285,"dataGaLocation":768},"/ja-jp/assessments/security-modernization-assessment/",{"config":1311},{"src":1312},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1314,"paths":1315,"header":1318,"text":1319,"button":1320,"image":1325},"github-azure-migration",[1316,1317],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1321,"config":1322},"GitLabとGitHubの比較を見る",{"href":1323,"dataGaName":1324,"dataGaLocation":768},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1326},{"src":1300},{"header":1328,"blurb":1329,"button":1330,"secondaryButton":1334},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":562,"config":1331},{"href":1332,"dataGaName":565,"dataGaLocation":1333},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":883,"config":1335},{"href":892,"dataGaName":570,"dataGaLocation":1333},1786803771971]