「Git 2.38」で追加、巨大リポジトリ向けの管理コマンド「Scalar」は何ができる?快適な設定を簡単に有効化できる

GitHubは公式ブログで、Gitの最新版「Git 2.38」の主要な新機能として、新しいリポジトリ管理ツール「Scalar」と、「git rebase」コマンドの新しい「--update-refs」オプションを取り上げて紹介した。

» 2022年10月06日 10時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 オープンソースの分散バージョン管理システム「Git」の最新版「Git 2.38」が、Gitプロジェクトから公開された。これを受けてGitHubは2022年10月3日(米国時間)に公式ブログで、Git 2.38の主要な新機能として、新しいリポジトリ管理ツール「Scalar」と、「git rebase」コマンドの新しい「--update-refs」オプションを取り上げて紹介した。

大規模リポジトリ向けの管理ツール「Scalar」

 新しいリポジトリ管理ツールのScalarは、大規模なリポジトリに大きな影響を与える、パフォーマンス最適化などさまざまなGit機能のセットをまとめて構成したものだ。Scalarを使い始めるには、「scalar clone」コマンドで新しいリポジトリをクローンする。

$ scalar clone /path/to/repo

 クローン対象を限定するスパースチェックアウト(sparse checkout)で開始したくない場合は、「--full-clone」オプションを使うことも可能だ。Scalarの推奨構成を既存のリポジトリに適用するには、以下のコマンドを実行する。

$ cd /path/to/repo
$ scalar register

 Scalarで構成済みの機能は次の通り。

  • ビルトインファイルシステムモニター
  • マルチパックインデックス
  • コミットグラフ
  • バックグラウンドでの定期的なメンテナンス
  • 部分的なクローン作成
  • コーンモードのスパースチェックアウト

 Scalarの構成は、Gitに新しい機能(実験的なものも含めて)が導入されるのに合わせて更新される。Gitの最新機能を常に使うには、新しいリリースの導入後に「scalar reconfigure /path/to/repo」を実行し、リポジトリの構成を更新する(または、「scalar reconfigure -a」で、Scalarに登録されている全てのリポジトリを一度に更新する)。

依存するブランチを「--update-refs」オプションでリベース

 大規模な機能を作成する際は、多くの場合、作業を複数のブランチに分割し、相互依存させるのが便利だ。

 だが、前のブランチの履歴を書き換える必要がある場合、ブランチの管理が面倒になることがある。各ブランチは前のブランチに依存しているため、あるブランチのコミットを書き換えると、以降のブランチは、書き換えた後の履歴から切り離されてしまう。

 Git 2.38では、この問題を回避できるように、git rebaseコマンドの新しいオプションとして--update-refsが用意されている。

 このオプションを使えば、git rebaseコマンドにより、依存するブランチが適切に更新されるため、個々のブランチを手動で更新しなくても、履歴がそのまま残る。

 リベースのたびにこのオプションを利用したい場合は、「git config --global rebase.updateRefs true」を実行する。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。