[{"data":1,"prerenderedAt":1227},["ShallowReactive",2],{"/ja-jp/blog/take-advantage-of-git-rebase":3,"navigation-ja-jp":456,"banner-ja-jp":874,"footer-ja-jp":883,"blog-post-authors-ja-jp-Christian Couder":1124,"blog-related-posts-ja-jp-take-advantage-of-git-rebase":1139,"blog-promotions-ja-jp":1165,"next-steps-ja-jp":1218},{"id":4,"title":5,"authors":6,"body":8,"category":431,"date":432,"description":433,"extension":434,"externalUrl":435,"featured":436,"heroImage":437,"meta":438,"navigation":439,"path":440,"seo":441,"slug":447,"stem":448,"tags":449,"template":453,"updatedDate":454,"__hash__":455},"blogPosts/ja-jp/blog/take-advantage-of-git-rebase.md","Git rebaseを活用してワークフローを改善する",[7],"Christian Couder",{"type":9,"value":10,"toc":411},"minimark",[11,22,26,29,34,37,40,50,53,57,60,68,74,77,80,87,116,125,148,156,166,181,184,190,193,237,240,261,264,271,285,291,294,297,324,327,333,352,357,363,366,376,381,390,393,396,407],[12,13,14,15,21],"p",{},"近年、開発者はマージリクエストのレビューに多くの時間を費やしており、レビュー内容をもとにコードを改善する作業も欠かせません。この記事では、",[16,17,20],"a",{"href":18,"rel":19},"https://git-scm.com/docs/git-rebase",[],"Git rebase","を使ってレビューサイクルを短縮する方法を解説します。まずはワークフローの観点から整理してみましょう。",[23,24,25],"h2",{"id":25},"マージリクエストの修正方法",[12,27,28],{},"コードの変更を加えてマージリクエストを作成した後、修正が必要になるケースはよくあります。テストの失敗、バグの発見、レビュアーからの改善提案など、理由はさまざまです。",[30,31,33],"h3",{"id":32},"シンプルだが煩雑な方法コミットを積み重ねる","シンプルだが煩雑な方法：コミットを積み重ねる",[12,35,36],{},"一つ目の方法は、マージリクエストの元となるブランチの上に新しいコミットをどんどん追加し、ブランチをプッシュしてマージリクエストを更新する方法です。",[12,38,39],{},"しかし、この方法で多くのコミットが積み重なると、マージリクエストが扱いにくくなります。",[41,42,43,47],"ul",{},[44,45,46],"li",{},"全体の変更をまとめてレビューするのが難しくなる",[44,48,49],{},"コミットごとにレビューしようとしても、無関係な変更や同じコードの複数回の修正が混在している場合があり、レビューしにくい",[12,51,52],{},"レビュアーにとって理想的なのは、独立した小さなコミットに分割されていて、個別にレビューできる形式です。",[30,54,56],{"id":55},"プロの方法リベースを使う","プロの方法：リベースを使う",[12,58,59],{},"マージリクエストの準備や修正をより効果的に行う方法は、各コミットを常に小さく、自己完結した、レビューしやすい単位に保つことです。",[12,61,62,63,67],{},"つまり、新しいコミットを積み重ねるのではなく、ブランチ内の既存のコミットをすべて整理し直す必要があります。これは複雑で手間がかかるように思えるかもしれませんが、",[64,65,66],"code",{},"git rebase","がその助けになります。",[23,69,71,73],{"id":70},"git-rebaseでコミットを整理する",[64,72,66],{},"でコミットを整理する",[12,75,76],{},"小さく自己完結したコミットの積み重ねでマージリクエストを構成するには、ブランチのコミットを大幅に整理する必要があることがあります。コミットの準備が整ったら、ブランチをプッシュしてマージリクエストを作成または更新できます。",[30,78,79],{"id":79},"インタラクティブリベースを開始する",[12,81,82,83,86],{},"ブランチが",[64,84,85],{},"main","ブランチをベースにしている場合、ブランチを整理するコマンドは次のとおりです。",[88,89,94],"pre",{"className":90,"code":91,"language":92,"meta":93,"style":93},"language-shell shiki shiki-themes github-light","git rebase -i main\n","shell","",[64,95,96],{"__ignoreMap":93},[97,98,101,105,109,113],"span",{"class":99,"line":100},"line",1,[97,102,104],{"class":103},"s7eDp","git",[97,106,108],{"class":107},"sYBdl"," rebase",[97,110,112],{"class":111},"sYu0t"," -i",[97,114,115],{"class":107}," main\n",[12,117,118,119,124],{},"このコマンドはとても頻繁に使うことになるので、今すぐ",[16,120,123],{"href":121,"rel":122},"https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases",[],"Gitエイリアス","やシェルエイリアス・関数として登録しておくことをお勧めします。",[12,126,127,129,130,133,134,137,138,143,144,147],{},[64,128,66],{},"に渡す",[64,131,132],{},"-i","オプションは",[64,135,136],{},"--interactive","の短縮形です。これにより",[16,139,142],{"href":140,"rel":141},"https://git-scm.com/docs/git-rebase#Documentation/git-rebase.txt---interactive",[],"インタラクティブリベース","が起動し、エディターが開きます。エディターには、ブランチ内のコミット一覧と、",[64,145,146],{},"#","で始まるコメント行が表示されます。コミット一覧は次のような形式です。",[88,149,154],{"className":150,"code":152,"language":153,"meta":93},[151],"language-text","pick 1aac632db2 first commit subject\npick a385014ad4 second commit subject\npick 6af12a88cf other commit subject\npick 5cd121e2a1 last commit subject\n","text",[64,155,152],{"__ignoreMap":93},[12,157,158,159,161,162,165],{},"各行は、",[64,160,66],{},"がそのコミットをどう処理するかを示す命令です。コミットは古い順に並んでおり、最も古いコミットが先頭に来ます（デフォルトの",[64,163,164],{},"git log","の表示順とは逆です）。各行の構成要素は次のとおりです。",[41,167,168,175,178],{},[44,169,170,171,174],{},"コミットに対する操作（ここでは",[64,172,173],{},"pick","）",[44,176,177],{},"短縮されたコミットID",[44,179,180],{},"コミットの内容を識別するためのサブジェクト",[30,182,183],{"id":183},"命令リストを編集する",[12,185,186,187,189],{},"この命令リストは編集できます。テキストエディターを閉じると、",[64,188,66],{},"が編集された命令を読み込み、順番に実行してブランチを希望どおりに再構成します。",[12,191,192],{},"全コミットの命令の後には、コメント行として編集方法と各命令の説明が表示されます。",[41,194,195,203,209,230],{},[44,196,197,198,202],{},"コミットの",[199,200,201],"strong",{},"命令行全体を削除する","と、そのコミットは再作成されません",[44,204,205,208],{},[199,206,207],{},"命令行の順序を入れ替える","と、コミットが指定した順序で再作成されます",[44,210,211,217,218,221,222,225,226,229],{},[199,212,213,214,216],{},"操作を",[64,215,173],{},"から別のもの","（",[64,219,220],{},"squash","や",[64,223,224],{},"reword","など）",[199,227,228],{},"に変更する","と、指定した操作がそのコミットに適用されます",[44,231,232,233,236],{},"既存の行の前後や間に",[199,234,235],{},"新しい命令行を追加する","こともできます",[12,238,239],{},"コメント行の説明だけでは不十分な場合は、以下の資料も参考にしてください。",[41,241,242,251],{},[44,243,244,245,250],{},"『Pro Git』の",[16,246,249],{"href":247,"rel":248},"https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History",[],"「Git Tools - Rewriting History」","セクション",[44,252,253,255,256,250],{},[64,254,66],{},"ドキュメントの",[16,257,260],{"href":258,"rel":259},"https://git-scm.com/docs/git-rebase#_interactive_mode",[],"「Interactive mode」",[30,262,263],{"id":263},"リベースの続行または中断",[12,265,266,267,270],{},"インタラクティブリベースは、コンフリクトが発生した場合（通常のリベースと同様）や、命令に",[64,268,269],{},"edit","を使用した場合に一時停止します。一時停止中は、現在のコミットを二つに分割したり、コンフリクトを解消したりといった作業が可能です。その後は次のいずれかを選べます。",[41,272,273,279],{},[44,274,275,278],{},[64,276,277],{},"git rebase --continue","でインタラクティブリベースを続行する",[44,280,281,284],{},[64,282,283],{},"git rebase --abort","でリベース全体を中断する",[12,286,287,288,290],{},"（これらの",[64,289,66],{},"オプションは、通常の非インタラクティブなリベースが一時停止した場合にも使えます。）",[23,292,293],{"id":293},"さらに役立つヒント",[30,295,296],{"id":296},"さまざまな命令を試す",[12,298,299,300,302,303,302,305,302,307,310,311,302,314,302,317,302,320,323],{},"各命令行で使える操作を実際に試してみることをお勧めします。特に",[64,301,224],{},"、",[64,304,269],{},[64,306,220],{},[64,308,309],{},"fixup","は便利です。すぐに略語版の",[64,312,313],{},"r",[64,315,316],{},"e",[64,318,319],{},"s",[64,321,322],{},"f","も使いたくなるはずです。",[30,325,326],{"id":326},"リベース中にシェルコマンドを実行する",[12,328,329,332],{},[64,330,331],{},"exec \u003Ccommand>","という命令を使うと、インタラクティブリベースの任意の時点でシェルコマンドを実行できます。非インタラクティブリベースでの活用が特に便利で、例えば次のように使います。",[88,334,336],{"className":90,"code":335,"language":92,"meta":93,"style":93},"git rebase --exec 'make test' main\n",[64,337,338],{"__ignoreMap":93},[97,339,340,342,344,347,350],{"class":99,"line":100},[97,341,104],{"class":103},[97,343,108],{"class":107},[97,345,346],{"class":111}," --exec",[97,348,349],{"class":107}," 'make test'",[97,351,115],{"class":107},[12,353,217,354,356],{},[64,355,132],{},"フラグがないので、これはインタラクティブリベースではありません。）",[12,358,359,362],{},[64,360,361],{},"--exec \u003Ccommand>","フラグを使うと、リベース済みの各コミットの後にシェルコマンドが実行されます。シェルコマンドが失敗した場合（ゼロ以外の終了コードが返された場合）、リベースはそこで停止します。",[30,364,365],{"id":365},"すべてのコミットをテストする",[12,367,368,371,372,375],{},[64,369,370],{},"make test","のようにソフトウェアのビルドとテスト実行を行うコマンドを",[64,373,374],{},"--exec","に渡すと、ブランチ内の各コミットが正しくビルドされ、テストをパスするかどうかを確認できます。",[12,377,378,380],{},[64,379,370],{},"が失敗するとリベースが停止します。その場で現在のコミットを修正し、リベースを続行して次のコミットのテストに進めます。",[12,382,383,384,389],{},"各コミットがきれいにビルドされ、すべてのテストをパスすることを確認しておくと、コードベースを常に健全な状態に保てます。リグレッションが発生したときに",[16,385,388],{"href":386,"rel":387},"https://git-scm.com/docs/git-bisect",[],"Git bisect","を活用したい場合にも特に有効です。",[23,391,392],{"id":392},"まとめ",[12,394,395],{},"Gitにおけるリベースは、コミットを整理するための非常に柔軟で強力なツールです。高品質な変更を高品質なコミットとマージリクエストとして提案するワークフローの実現に、ぜひ活用してください。開発者とレビュアーの効率が向上し、コードレビューやデバッグもより容易かつ効果的になります。",[12,397,398,401,402,406],{},[199,399,400],{},"追記："," このブログの続編として、",[16,403,405],{"href":404},"/ja-jp/blog/rebase-in-real-life/","実際のプロジェクトでリベースを適用する方法","も公開しています。ぜひあわせてご覧ください。",[408,409,410],"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 .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}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":93,"searchDepth":412,"depth":412,"links":413},2,[414,419,425,430],{"id":25,"depth":412,"text":25,"children":415},[416,418],{"id":32,"depth":417,"text":33},3,{"id":55,"depth":417,"text":56},{"id":70,"depth":412,"text":420,"children":421},"git rebaseでコミットを整理する",[422,423,424],{"id":79,"depth":417,"text":79},{"id":183,"depth":417,"text":183},{"id":263,"depth":417,"text":263},{"id":293,"depth":412,"text":293,"children":426},[427,428,429],{"id":296,"depth":417,"text":296},{"id":326,"depth":417,"text":326},{"id":365,"depth":417,"text":365},{"id":392,"depth":412,"text":392},"engineering","2022-10-06","Gitリベースの機能を活用して、ワークフローを改善する方法をご紹介します。","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665560/Blog/Hero%20Images/speedmonorepo.jpg",{},true,"/ja-jp/blog/take-advantage-of-git-rebase",{"ogTitle":442,"ogImage":437,"ogDescription":433,"ogSiteName":443,"noIndex":436,"ogType":444,"ogUrl":445,"title":442,"canonicalUrls":445,"description":446},"Git rebaseを使いこなす","https://about.gitlab.com","article","https://about.gitlab.com/ja-jp/blog/take-advantage-of-git-rebase","Gitリベースを活用すれば、マージリクエストのレビューサイクルを大幅に短縮できます。インタラクティブリベースの使い方から、コミットの整理・テスト・並べ替えまで、開発ワークフローを改善するための実践的なヒントをわかりやすく解説します。ぜひご活用ください。","take-advantage-of-git-rebase","ja-jp/blog/take-advantage-of-git-rebase",[104,450,451,452],"workflow","releases","tutorial","BlogPost","2026-05-25","B6TkOHm0k2wXNfzNcyRPoRUuTlWbVUfl98wr5_6npUw",{"logo":457,"freeTrial":462,"sales":467,"login":472,"items":477,"search":794,"minimal":827,"duo":844,"switchNav":853,"pricingDeployment":864},{"config":458},{"href":459,"dataGaName":460,"dataGaLocation":461},"/ja-jp/","gitlab logo","header",{"text":463,"config":464},"無料トライアルを開始",{"href":465,"dataGaName":466,"dataGaLocation":461},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":468,"config":469},"お問い合わせはこちら",{"href":470,"dataGaName":471,"dataGaLocation":461},"/ja-jp/sales/","sales",{"text":473,"config":474},"サインイン",{"href":475,"dataGaName":476,"dataGaLocation":461},"https://gitlab.com/users/sign_in/","sign in",[478,507,609,614,718,774],{"text":479,"config":480,"menu":482},"プラットフォーム",{"dataNavLevelOne":481},"platform",{"type":483,"columns":484},"cards",[485,491,499],{"title":479,"description":486,"link":487},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":488,"config":489},"プラットフォームの詳細はこちら",{"href":490,"dataGaName":481,"dataGaLocation":461},"/ja-jp/platform/",{"title":492,"description":493,"link":494},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":495,"config":496},"GitLab Duoのご紹介",{"href":497,"dataGaName":498,"dataGaLocation":461},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":500,"description":501,"link":502},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":503,"config":504},"詳細はこちら",{"href":505,"dataGaName":506,"dataGaLocation":461},"/ja-jp/why-gitlab/","why gitlab",{"text":508,"left":439,"config":509,"menu":511},"製品",{"dataNavLevelOne":510},"solutions",{"type":512,"link":513,"columns":517,"feature":588},"lists",{"text":514,"config":515},"すべてのソリューションを表示",{"href":516,"dataGaName":510,"dataGaLocation":461},"/ja-jp/solutions/",[518,543,566],{"title":519,"description":520,"link":521,"items":526},"自動化","CI/CDと自動化でデプロイを加速",{"config":522},{"icon":523,"href":524,"dataGaName":525,"dataGaLocation":461},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[527,531,534,539],{"text":528,"config":529},"CI/CD",{"href":530,"dataGaLocation":461,"dataGaName":528},"/ja-jp/solutions/continuous-integration/",{"text":492,"config":532},{"href":497,"dataGaLocation":461,"dataGaName":533},"gitlab duo agent platform - product menu",{"text":535,"config":536},"ソースコード管理",{"href":537,"dataGaLocation":461,"dataGaName":538},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":540,"config":541},"自動化されたソフトウェアデリバリー",{"href":524,"dataGaLocation":461,"dataGaName":542},"Automated software delivery",{"title":544,"description":545,"link":546,"items":551},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":547},{"href":548,"dataGaName":549,"dataGaLocation":461,"icon":550},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[552,556,561],{"text":553,"config":554},"アプリケーションセキュリティテスト",{"href":548,"dataGaName":555,"dataGaLocation":461},"Application security testing",{"text":557,"config":558},"ソフトウェアサプライチェーンセキュリティ",{"href":559,"dataGaLocation":461,"dataGaName":560},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":562,"config":563},"ソフトウェアコンプライアンス",{"href":564,"dataGaName":565,"dataGaLocation":461},"/ja-jp/solutions/software-compliance/","software compliance",{"title":567,"link":568,"items":573},"測定",{"config":569},{"icon":570,"href":571,"dataGaName":572,"dataGaLocation":461},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[574,578,583],{"text":575,"config":576},"可視性と測定",{"href":571,"dataGaLocation":461,"dataGaName":577},"Visibility and Measurement",{"text":579,"config":580},"バリューストリーム管理",{"href":581,"dataGaLocation":461,"dataGaName":582},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":584,"config":585},"分析とインサイト",{"href":586,"dataGaLocation":461,"dataGaName":587},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":589,"type":512,"items":590},"GitLabが活躍する場所",[591,597,603],{"text":592,"config":593},"大企業",{"icon":594,"href":595,"dataGaLocation":461,"dataGaName":596},"Building","/ja-jp/enterprise/","enterprise",{"text":598,"config":599},"スモールビジネス",{"icon":600,"href":601,"dataGaLocation":461,"dataGaName":602},"Work","/ja-jp/small-business/","small business",{"text":604,"config":605},"公共部門",{"icon":606,"href":607,"dataGaLocation":461,"dataGaName":608},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":610,"config":611},"価格",{"href":612,"dataGaName":613,"dataGaLocation":461,"dataNavLevelOne":613},"/ja-jp/pricing/","pricing",{"text":615,"config":616,"menu":618},"関連リソース",{"dataNavLevelOne":617},"resources",{"type":512,"link":619,"columns":623,"feature":707},{"text":620,"config":621},"すべてのリソースを表示",{"href":622,"dataGaName":617,"dataGaLocation":461},"/ja-jp/resources/",[624,657,679],{"title":625,"items":626},"はじめに",[627,632,637,642,647,652],{"text":628,"config":629},"インストール",{"href":630,"dataGaName":631,"dataGaLocation":461},"/ja-jp/install/","install",{"text":633,"config":634},"クイックスタートガイド",{"href":635,"dataGaName":636,"dataGaLocation":461},"/ja-jp/get-started/","quick setup checklists",{"text":638,"config":639},"学ぶ",{"href":640,"dataGaLocation":461,"dataGaName":641},"https://university.gitlab.com/","learn",{"text":643,"config":644},"製品ドキュメント",{"href":645,"dataGaName":646,"dataGaLocation":461},"https://docs.gitlab.com/","product documentation",{"text":648,"config":649},"ベストプラクティスビデオ",{"href":650,"dataGaName":651,"dataGaLocation":461},"/ja-jp/getting-started-videos/","best practice videos",{"text":653,"config":654},"インテグレーション",{"href":655,"dataGaName":656,"dataGaLocation":461},"/ja-jp/integrations/","integrations",{"title":658,"items":659},"検索する",[660,665,670,674],{"text":661,"config":662},"お客様成功事例",{"href":663,"dataGaName":664,"dataGaLocation":461},"/ja-jp/customers/","customer success stories",{"text":666,"config":667},"ブログ",{"href":668,"dataGaName":669,"dataGaLocation":461},"/ja-jp/blog/","blog",{"text":671,"config":672},"The Source",{"href":673,"dataGaName":669,"dataGaLocation":461},"/ja-jp/the-source/",{"text":675,"config":676},"リモート",{"href":677,"dataGaName":678,"dataGaLocation":461},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":680,"items":681},"つなげる",[682,687,692,697,702],{"text":683,"config":684},"GitLabサービス",{"href":685,"dataGaName":686,"dataGaLocation":461},"/ja-jp/services/","services",{"text":688,"config":689},"コミュニティ",{"href":690,"dataGaName":691,"dataGaLocation":461},"/community/","community",{"text":693,"config":694},"フォーラム",{"href":695,"dataGaName":696,"dataGaLocation":461},"https://forum.gitlab.com/","forum",{"text":698,"config":699},"イベント",{"href":700,"dataGaName":701,"dataGaLocation":461},"/events/","events",{"text":703,"config":704},"パートナー",{"href":705,"dataGaName":706,"dataGaLocation":461},"/ja-jp/partners/","partners",{"config":708,"title":711,"text":712,"link":713},{"background":709,"textColor":710},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":714,"config":715},"最新情報を読む",{"href":716,"dataGaName":717,"dataGaLocation":461},"/ja-jp/whats-new/","whats new",{"text":719,"config":720,"menu":722},"企業情報",{"dataNavLevelOne":721},"company",{"type":512,"columns":723},[724],{"items":725},[726,731,737,739,744,749,754,759,764,769],{"text":727,"config":728},"GitLabについて",{"href":729,"dataGaName":730,"dataGaLocation":461},"/ja-jp/company/","about",{"text":732,"config":733,"footerGa":736},"採用情報",{"href":734,"dataGaName":735,"dataGaLocation":461},"/jobs/","jobs",{"dataGaName":735},{"text":698,"config":738},{"href":700,"dataGaName":701,"dataGaLocation":461},{"text":740,"config":741},"経営陣",{"href":742,"dataGaName":743,"dataGaLocation":461},"/company/team/e-group/","leadership",{"text":745,"config":746},"ハンドブック",{"href":747,"dataGaName":748,"dataGaLocation":461},"https://handbook.gitlab.com/","handbook",{"text":750,"config":751},"投資家向け情報",{"href":752,"dataGaName":753,"dataGaLocation":461},"https://ir.gitlab.com/","investor relations",{"text":755,"config":756},"トラストセンター",{"href":757,"dataGaName":758,"dataGaLocation":461},"/ja-jp/security/","trust center",{"text":760,"config":761},"AI Transparency Center",{"href":762,"dataGaName":763,"dataGaLocation":461},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":765,"config":766},"ニュースレター",{"href":767,"dataGaName":768,"dataGaLocation":461},"/company/contact/#contact-forms","newsletter",{"text":770,"config":771},"プレス",{"href":772,"dataGaName":773,"dataGaLocation":461},"/press/","press",{"text":775,"config":776,"menu":777},"お問い合わせ",{"dataNavLevelOne":721},{"type":512,"columns":778},[779],{"items":780},[781,784,789],{"text":468,"config":782},{"href":470,"dataGaName":783,"dataGaLocation":461},"talk to sales",{"text":785,"config":786},"サポートを受ける",{"href":787,"dataGaName":788,"dataGaLocation":461},"https://support.gitlab.com","support portal",{"text":790,"config":791},"カスタマーポータル",{"href":792,"dataGaName":793,"dataGaLocation":461},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":795,"login":796,"suggestions":803},"閉じる",{"text":797,"link":798},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":799,"config":800},"GitLab.com",{"href":475,"dataGaName":801,"dataGaLocation":802},"search login","search",{"text":804,"default":805},"提案",[806,808,813,815,819,823],{"text":492,"config":807},{"href":497,"dataGaName":492,"dataGaLocation":802},{"text":809,"config":810},"コード提案（AI）",{"href":811,"dataGaName":812,"dataGaLocation":802},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":528,"config":814},{"href":530,"dataGaName":528,"dataGaLocation":802},{"text":816,"config":817},"GitLab on AWS",{"href":818,"dataGaName":816,"dataGaLocation":802},"/ja-jp/partners/technology-partners/aws/",{"text":820,"config":821},"GitLab on Google Cloud",{"href":822,"dataGaName":820,"dataGaLocation":802},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":824,"config":825},"GitLabを選ぶ理由",{"href":505,"dataGaName":826,"dataGaLocation":802},"Why GitLab?",{"freeTrial":828,"mobileIcon":832,"desktopIcon":837,"secondaryButton":840},{"text":463,"config":829},{"href":830,"dataGaName":466,"dataGaLocation":831},"https://gitlab.com/-/trials/new/","nav",{"altText":833,"config":834},"GitLabアイコン",{"src":835,"dataGaName":836,"dataGaLocation":831},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":833,"config":838},{"src":839,"dataGaName":836,"dataGaLocation":831},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":625,"config":841},{"href":842,"dataGaName":843,"dataGaLocation":831},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":845,"mobileIcon":849,"desktopIcon":851},{"text":846,"config":847},"GitLab Duoの詳細について",{"href":497,"dataGaName":848,"dataGaLocation":831},"gitlab duo",{"altText":833,"config":850},{"src":835,"dataGaName":836,"dataGaLocation":831},{"altText":833,"config":852},{"src":839,"dataGaName":836,"dataGaLocation":831},{"button":854,"mobileIcon":859,"desktopIcon":861},{"text":855,"config":856},"/switch",{"href":857,"dataGaName":858,"dataGaLocation":831},"#contact","switch",{"altText":833,"config":860},{"src":835,"dataGaName":836,"dataGaLocation":831},{"altText":833,"config":862},{"src":863,"dataGaName":836,"dataGaLocation":831},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":865,"mobileIcon":870,"desktopIcon":872},{"text":866,"config":867},"料金ページに戻る",{"href":612,"dataGaName":868,"dataGaLocation":831,"icon":869},"back to pricing","GoBack",{"altText":833,"config":871},{"src":835,"dataGaName":836,"dataGaLocation":831},{"altText":833,"config":873},{"src":839,"dataGaName":836,"dataGaLocation":831},{"title":875,"button":876,"config":881},"エージェント型AIがソフトウェアデリバリーをどのように変革するかをご覧ください",{"text":877,"config":878},"6月18日のGitLab Transcend日本開催版に申し込む",{"href":879,"dataGaName":880,"dataGaLocation":461},"/ja-jp/events/transcend/virtual/","transcend event",{"layout":882,"disabled":436},"release",{"data":884},{"text":885,"source":886,"edit":892,"contribute":897,"config":902,"items":907,"minimal":1115},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":887,"config":888},"ページのソースを表示",{"href":889,"dataGaName":890,"dataGaLocation":891},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":893,"config":894},"このページを編集",{"href":895,"dataGaName":896,"dataGaLocation":891},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":898,"config":899},"ご協力をお願いします",{"href":900,"dataGaName":901,"dataGaLocation":891},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":903,"facebook":904,"youtube":905,"linkedin":906},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[908,953,1006,1050,1082],{"title":610,"links":909,"subMenu":924},[910,914,919],{"text":911,"config":912},"プランの表示",{"href":612,"dataGaName":913,"dataGaLocation":891},"view plans",{"text":915,"config":916},"Premiumを選ぶ理由",{"href":917,"dataGaName":918,"dataGaLocation":891},"/ja-jp/pricing/premium/","why premium",{"text":920,"config":921},"Ultimateを選ぶ理由",{"href":922,"dataGaName":923,"dataGaLocation":891},"/ja-jp/pricing/ultimate/","why ultimate",[925],{"title":775,"links":926},[927,929,931,933,938,943,948],{"text":775,"config":928},{"href":470,"dataGaName":471,"dataGaLocation":891},{"text":785,"config":930},{"href":787,"dataGaName":788,"dataGaLocation":891},{"text":790,"config":932},{"href":792,"dataGaName":793,"dataGaLocation":891},{"text":934,"config":935},"ステータス",{"href":936,"dataGaName":937,"dataGaLocation":891},"https://status.gitlab.com/","status",{"text":939,"config":940},"利用規約",{"href":941,"dataGaName":942,"dataGaLocation":891},"/terms/","terms of use",{"text":944,"config":945},"プライバシーに関する声明",{"href":946,"dataGaName":947,"dataGaLocation":891},"/ja-jp/privacy/","privacy statement",{"text":949,"config":950},"Cookie 優先設定",{"dataGaName":951,"dataGaLocation":891,"id":952,"isOneTrustButton":439},"cookie preferences","ot-sdk-btn",{"title":508,"links":954,"subMenu":963},[955,959],{"text":956,"config":957},"DevSecOpsプラットフォーム",{"href":490,"dataGaName":958,"dataGaLocation":891},"devsecops platform",{"text":960,"config":961},"AI支援開発",{"href":497,"dataGaName":962,"dataGaLocation":891},"ai-assisted development",[964],{"title":965,"links":966},"トピック",[967,971,976,981,986,991,996,1001],{"text":528,"config":968},{"href":969,"dataGaName":970,"dataGaLocation":891},"/ja-jp/topics/ci-cd/","cicd",{"text":972,"config":973},"GitOps",{"href":974,"dataGaName":975,"dataGaLocation":891},"/ja-jp/topics/gitops/","gitops",{"text":977,"config":978},"DevOps",{"href":979,"dataGaName":980,"dataGaLocation":891},"/ja-jp/topics/devops/","devops",{"text":982,"config":983},"バージョン管理",{"href":984,"dataGaName":985,"dataGaLocation":891},"/ja-jp/topics/version-control/","version control",{"text":987,"config":988},"DevSecOps",{"href":989,"dataGaName":990,"dataGaLocation":891},"/ja-jp/topics/devsecops/","devsecops",{"text":992,"config":993},"クラウドネイティブ",{"href":994,"dataGaName":995,"dataGaLocation":891},"/ja-jp/topics/cloud-native/","cloud native",{"text":997,"config":998},"コーディングのためのAI",{"href":999,"dataGaName":1000,"dataGaLocation":891},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1002,"config":1003},"エージェント型AI",{"href":1004,"dataGaName":1005,"dataGaLocation":891},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1007,"links":1008},"ソリューション",[1009,1012,1014,1019,1023,1026,1029,1032,1035,1037,1040,1045],{"text":553,"config":1010},{"href":548,"dataGaName":1011,"dataGaLocation":891},"Application Security Testing",{"text":540,"config":1013},{"href":524,"dataGaName":525,"dataGaLocation":891},{"text":1015,"config":1016},"アジャイル開発",{"href":1017,"dataGaName":1018,"dataGaLocation":891},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1020,"config":1021},"SCM",{"href":537,"dataGaName":1022,"dataGaLocation":891},"source code management",{"text":528,"config":1024},{"href":530,"dataGaName":1025,"dataGaLocation":891},"continuous integration & delivery",{"text":579,"config":1027},{"href":581,"dataGaName":1028,"dataGaLocation":891},"value stream management",{"text":972,"config":1030},{"href":1031,"dataGaName":975,"dataGaLocation":891},"/ja-jp/solutions/gitops/",{"text":1033,"config":1034},"エンタープライズ",{"href":595,"dataGaName":596,"dataGaLocation":891},{"text":598,"config":1036},{"href":601,"dataGaName":602,"dataGaLocation":891},{"text":1038,"config":1039},"公共機関",{"href":607,"dataGaName":608,"dataGaLocation":891},{"text":1041,"config":1042},"教育",{"href":1043,"dataGaName":1044,"dataGaLocation":891},"/ja-jp/solutions/education/","education",{"text":1046,"config":1047},"金融サービス",{"href":1048,"dataGaName":1049,"dataGaLocation":891},"/ja-jp/solutions/finance/","financial services",{"title":1051,"links":1052},"リソース",[1053,1055,1057,1059,1063,1065,1068,1070,1072,1074,1076,1078,1080],{"text":628,"config":1054},{"href":630,"dataGaName":631,"dataGaLocation":891},{"text":633,"config":1056},{"href":635,"dataGaName":636,"dataGaLocation":891},{"text":638,"config":1058},{"href":640,"dataGaName":641,"dataGaLocation":891},{"text":643,"config":1060},{"href":1061,"dataGaName":1062,"dataGaLocation":891},"https://docs.gitlab.com/ja-jp/","docs",{"text":666,"config":1064},{"href":668,"dataGaName":669,"dataGaLocation":891},{"text":1066,"config":1067},"新着情報",{"href":716,"dataGaName":717,"dataGaLocation":891},{"text":661,"config":1069},{"href":663,"dataGaName":664,"dataGaLocation":891},{"text":675,"config":1071},{"href":677,"dataGaName":678,"dataGaLocation":891},{"text":683,"config":1073},{"href":685,"dataGaName":686,"dataGaLocation":891},{"text":688,"config":1075},{"href":690,"dataGaName":691,"dataGaLocation":891},{"text":693,"config":1077},{"href":695,"dataGaName":696,"dataGaLocation":891},{"text":698,"config":1079},{"href":700,"dataGaName":701,"dataGaLocation":891},{"text":703,"config":1081},{"href":705,"dataGaName":706,"dataGaLocation":891},{"title":1083,"links":1084},"会社情報",[1085,1087,1089,1091,1093,1095,1099,1104,1106,1108,1110],{"text":727,"config":1086},{"href":729,"dataGaName":721,"dataGaLocation":891},{"text":732,"config":1088},{"href":734,"dataGaName":735,"dataGaLocation":891},{"text":740,"config":1090},{"href":742,"dataGaName":743,"dataGaLocation":891},{"text":745,"config":1092},{"href":747,"dataGaName":748,"dataGaLocation":891},{"text":750,"config":1094},{"href":752,"dataGaName":753,"dataGaLocation":891},{"text":1096,"config":1097},"Sustainability",{"href":1098,"dataGaName":1096,"dataGaLocation":891},"/sustainability/",{"text":1100,"config":1101},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1102,"dataGaName":1103,"dataGaLocation":891},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":755,"config":1105},{"href":757,"dataGaName":758,"dataGaLocation":891},{"text":765,"config":1107},{"href":767,"dataGaName":768,"dataGaLocation":891},{"text":770,"config":1109},{"href":772,"dataGaName":773,"dataGaLocation":891},{"text":1111,"config":1112},"現代奴隷制の透明性に関する声明",{"href":1113,"dataGaName":1114,"dataGaLocation":891},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1116},[1117,1119,1122],{"text":939,"config":1118},{"href":941,"dataGaName":942,"dataGaLocation":891},{"text":1120,"config":1121},"Cookieの設定",{"dataGaName":951,"dataGaLocation":891,"id":952,"isOneTrustButton":439},{"text":944,"config":1123},{"href":946,"dataGaName":947,"dataGaLocation":891},[1125],{"id":1126,"title":7,"body":435,"config":1127,"content":1129,"description":435,"extension":1133,"meta":1134,"navigation":439,"path":1135,"seo":1136,"stem":1137,"__hash__":1138},"blogAuthors/en-us/blog/authors/christian-couder.yml",{"template":1128},"BlogAuthor",{"name":7,"config":1130},{"headshot":1131,"ctfId":1132},"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",[1140,1148,1157],{"title":1141,"description":1142,"heroImage":1143,"category":431,"date":1144,"authors":1145,"slug":1147,"externalUrl":435},"モノレポとは？マルチレポとの違いやメリット、デメリットを解説","この記事では、モノレポの特徴やマルチレポとの違い、モノレポが向いているケース・向いていないケースを詳しく解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781228639/dgazp67o5nee87ljkt3s.jpg","2026-06-12",[1146],"GitLab Team","what-is-monorepo",{"title":1149,"description":1150,"heroImage":1151,"category":431,"date":1152,"authors":1153,"slug":1156,"externalUrl":435},"ガイド: Azure DevOpsからGitLabへの移行","GitLabプロフェッショナルサービスの移行ツールを使用してAzure DevOpsからGitLabへの完全な移行を実行する方法を学びます — 計画、実行から移行後のフォローアップタスクまで。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658924/Blog/Hero%20Images/securitylifecycle-light.png","2025-12-03",[1154,1155],"Evgeny Rudinsky","Michael Leopard","migration-from-azure-devops-to-gitlab",{"title":1158,"description":1159,"heroImage":1160,"category":431,"date":1161,"authors":1162,"slug":1164,"externalUrl":435},"世界最大のGitLabインスタンスを1日12回デプロイする方法","GitLab.comのデプロイパイプラインを技術的に深掘りします。段階的ロールアウト、Canary戦略、データベースマイグレーション、マルチバージョン互換性について解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1764108112/tyntnsy3xotlmehtnfkb.png","2025-12-01",[1163],"John Skarbek","continuously-deploying-the-largest-gitlab-instance",{"promotions":1166},[1167,1181,1193,1205],{"id":1168,"categories":1169,"header":1171,"text":1172,"button":1173,"image":1178},"ai-modernization",[1170],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1174,"config":1175},"AI成熟度スコアを確認する",{"href":1176,"dataGaName":1177,"dataGaLocation":669},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1179},{"src":1180},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1182,"categories":1183,"header":1185,"text":1172,"button":1186,"image":1190},"devops-modernization",[1184,990],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1187,"config":1188},"DevOps成熟度スコアを確認しましょう",{"href":1189,"dataGaName":1177,"dataGaLocation":669},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1191},{"src":1192},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1194,"categories":1195,"header":1197,"text":1172,"button":1198,"image":1202},"security-modernization",[1196],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1199,"config":1200},"セキュリティ成熟度スコアを確認しましょう",{"href":1201,"dataGaName":1177,"dataGaLocation":669},"/ja-jp/assessments/security-modernization-assessment/",{"config":1203},{"src":1204},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1206,"paths":1207,"header":1209,"text":1210,"button":1211,"image":1216},"github-azure-migration",[1156,1208],"integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1212,"config":1213},"GitLabとGitHubの比較を見る",{"href":1214,"dataGaName":1215,"dataGaLocation":669},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1217},{"src":1192},{"header":1219,"blurb":1220,"button":1221,"secondaryButton":1225},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":463,"config":1222},{"href":1223,"dataGaName":466,"dataGaLocation":1224},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":775,"config":1226},{"href":470,"dataGaName":471,"dataGaLocation":1224},1781392835225]