新しい Git 2.8.0 がリリース されたことをお伝えします!ここ数週間でリリース候補版が進行している間に、私は新しい機能を試して面白い具体例を簡単にまとめようと、コミットを行ったり、リリースノートに目を通しました。開発者の時間を節約するために、個人的にお勧めする試すべき機能の選択肢をまとめたので、活用してください!

push --delete の同義語 push -d

これはタイピングの一貫性およびスピードを向上するために新たに追加されました。既に git branch -d を使ってローカルでブランチを削除している開発者もいると思いますが、これで git push -d へのリモート ブランチ削除も簡略化できるようになりました。例:

git28-1

git grep: スレッドと繰り返し防止

いくつかの関連機能が grep の機能に統合されました:

  1. ワーキング ツリー オブジェクトの検索中に grep で何スレッドを使うか指定できるようになりました。--num-threads をコマンドラインに追加するか、.gitconfig に構成フラグ grep.threads を追加することで、常にその設定を適用できます。例:

    git28-22

  2. git 以外のフォルダーで git grep を実行すると、必ずしも意図されていない同じフォルダ検索の実行が何度も繰り返されることがありました。この最新バージョンでは、git リポジトリ以外で grep を使用する必要がある場合、--no-index フラグを明示的に指定する必要があります。この安全装置は grep.fallbackToNoIndex という名前のフラグで無効にできます。

pull --rebase がインタラクティブ モードをサポート

git pull --rebase は、git pull --rebase=interactive とすることで、インタラクティブに実行できるようになりました。これはコミットを素早く squash するときや、プルの際にコミットメッセージを編集するときのために、pull rebase ワークフローに追加された興味深い機能です。通常の rebase の警告が適用されます

git config に何でも聞こう 😉

通常入力から読み込まれたファイルか、ブロブ (blob) か、あるいはコマンドラインから直接読み込まれたのか、git config は値が設定された場所を表示できるようになりました。例えば、次のような質問をします:「私は st (ステータス) エイリアスをどこに設定しましたか?」すると今の git config からは次のような答えが返ってきます:

git28-3

その他の小さな改善点

  • git blame が長期間実行されるときに目に楽しい進行状況バーが表示されるようになりました。
  • <branch>^{/!-<pattern>} という形の新たな表記法が利用可能になりました。これによって開発者は、指定された <pattern> にマッチしないが <branch> からリーチできるコミットを参照できます。
  • git fetchipv4 (または ipv6) のみを使用して構成できます。それぞれ git fetch -4git fetch -6 として呼び出します。
  • Command パターン git worktree add -B <branchname> が想定されていた通りに機能しませんでしたが、修正されました。

次のステップへ

上記のメモは単に 1 つを選んだだけです。このリリースにはもっと多くの改善点が含まれています!その他の追加機能については、本ドキュメントの基となった完全版リリースノートを参照してください。また、もし偶然にも来週ニューヨークにいる場合は是非 Git Merge に来て git コミュニティに参加してください!

最後に、これから引き続き私と連絡を取ったり、git をはじめとした技術的な試みについての最新情報をお聞きになりたい場合は、してください




*本ブログは Atlassian Developers の翻訳です。本文中の日時などは投稿当時のものですのでご了承ください。
*原文 : 2016 年 3 月 31 日投稿 “More on Git 2.8: push, grep, rebase, config neat things