BT

git 2.9がリリース,merge/rebase/commitなどに新機能を追加

| 作者: Sergio De Simone フォローする 14 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2016年7月6日. 推定読書時間: 3 分 |

原文(投稿日:2016/06/17)へのリンク

Git 2.9が発表されたmergerebasecommitのワークフローに新機能が追加された他,多数の改善とバグフィックスが行われている。

mergeコマンドとpullコマンドでは,--allow-unrelated-historiesを指定しない限り,無関係なヒストリを持つ2つのブランチをマージすることはできなくなった。ブランチが異なるヒストリを持つのは,それぞれのルートコミットが同じでない場合だ。コードとドキュメントのように,2つのブランチがまったく違う目的で使用されるケースがこれにあたる。このような場合は,結果が意図しないものになる可能性があるため,無関係なヒストリをgitが警告なしにマージすることのない方が望ましいのだが,無関係なヒストリのマージが必要な”レア”なケースでは,上記した--allow-unrelated-historiesオプションを使って強制的に行なうこともできる。

rebaseコマンドでは,非対話モードで-xオプションの使用がサポートされるようになった。-x(--exec)オプションは,指定したコマンドをrabaseステップ毎に実行するために使用する。例えば,各rabaseコミットが何かを壊していないかチェックするために,ユニットテストを実施することが可能になる。このような処理を行なうには,これまでは-iオプションも指定しなくてはならなかった。git rebase -mを使用してブランチをルートからrebaseするように指定すると,rebaseが親コミットが存在するものと仮定しているため,コマンドの実行が失敗するというバグも修正されている。

commitコマンドでは,デフォルトで冗長表示を行なうことを指定するcommit.verboseオプション設定が新たにサポートされた。このオプションを設定すると,コマンドラインで毎回--verboseオプションを指定したのと同じように,変更内容の差分がインライン表示される。さらに,git commitでコミットが可能であるにも関わらず,git commit --dry-runでは不可能であるように表示されていた特定のケースにおいて,正しい出力が得られるようになった。さらに,git commit-mオプションで空のメッセージが指定された場合,動作が不正となるバグが修正されている。

git cloneコマンドに新設された--allow-submodulesオプションによって,ヒストリ全体のプルを必要とせずに,リポジトリのクローンとサブモジュールの再帰的なクローンが可能になり,クローンの速度と効率が向上している。

Git 2.9ではフックの使い勝手も改善されている。commitやmerge, rebase, pushなどのgitタスクの前後に実行可能なスクリプトを定義することで,各タスクへのタップが可能になった。新しいcore.hooksPath設定オプションを使って,フックを提供するディレクトリを指定することもできる。

git config core.hooksPath /etc/git/hooks

これまでのgitでは,フックを.git/hooksディレクトリから検索していた。

その他のGit 2.9の改善点としては,ファイル名変更の検出,git logでのタブの扱いの改善,git describe --containsアルゴリズムで得られる情報の拡張などがある。ここで紹介した以外にも,Git 2.9で提供される改善点やバグフィックスのリストにはたくさんの項目があるので,詳細はリリースノートで確認してほしい。

 
 

この記事を評価

関連性
形式
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT