Git 1.8.3 について知っておくべきこと

あなたが git をコマンドラインで使っていようと、SourceTree などのツールから使っていようと; また、コードを Bitbucket にホスティングしていようと、Stash で会社のファイアウォール内側にホスティングしていようと、もしあなたが私のようであれば git がリリースされたときはいつでもパーティーをするでしょう – ウィンク –。

Git ユーザーにとってスムーズなアップグレード方法

git 1.8.3 がリリースされました。もちろん、これは最新バージョンへのアップグレードを意味しています。これは比較的、簡単であるべきです:

  • もし OSX 上で homebrew を使用している場合は単に brew update && brew upgrade git とタイプするだけ (OSX 上で .gitignore を解析中に、直前に発見されたバグにより、 homebrew はアップグレードをまだリリースしていません)
  • Ubuntu ベースのディストリビューション上では、手品のような apt trick をお使いください (他のディストリビューションについては読者の練習問題として残しておきます)
  • Windows 上では新しいインストーラーを単に実行するだけです (Windows への移植は時々時間差がありますので、もしすぐに見つけることができなくてもご辛抱ください。)

git 1.8.2 に関する以前のメモについてはこちらをご覧ください。

このリリースで新しいものは?

いつもどおり、たくさんのものが修正されました。以前のサイクルよりかなりたくさんのものが実行されたように見えます。これ以上は騒がずに、私の興味をひいたいくつかのものをとっととお見せしましょう。

皆さん、色です、色がすごくなりました

いくつかの素晴らしいアップデートにより、コマンドライン UI は改良され続けています:

  • git rebase セッション中、(contrib/completion/ 内の) プロンプト文字列ジェネレーターは合計いくつの変更があり、いくつ再生されたのかを示します。
  • git branch -v -v は、他の色 (color.branch.upstream, 青をデフォルトに) と統合されているブランチ名に塗ることができるようになりました:
    
    
    1
    2
    3
    4
    npaolucci:~/dev/projects/stash] master ± git branch -v -v
    1.3           3a7ec9d [origin/1.3] Merge pull request #765 from STASH-2808-…
    gmail-renders 128fe79 [origin/gmail-renders] made pattern DOT_IN_WORD…
    * master        66865b0 [origin/master] Automatic merge from 2.4 -> master
  • git log –format%C(auto) トークンを見せるようになりました。ターミナル出力で %d (デコレーション) や %h (短いコミット オブジェクト名) などを解決する時に、色を使うように Git に伝えます。
  • git count-objects にはいろいろな大きな数字を Ki/Mi/GiB の単位で必要なスケールに合わせて表示するために –human-readable-H の選択肢があります:
    
    
    1
    2
    [npaolucci:~/dev/projects/stash] master ± git count-objects -H
    169 objects, 680.00 KiB

Help によるガイドのリストの表示

git help -g は利用可能なガイドをリスト表示する新しいフラグです。コマンドリストと同じように -a をつけるだけです:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
    [npaolucci:~/dev/projects/stash] master ± git help -g
The common Git guides are:attributes   Defining attributes per path
glossary     A Git glossary
ignore       Specifies intentionally untracked files to ignore
modules      Defining submodule properties
revisions    Specifying revisions and ranges for Git
tutorial     A tutorial introduction to Git (for version 1.5.1 or newer)
workflows    An overview of recommended workflows with Git

‘git help -a’ and ‘git help -g’ lists available subcommands and some
concept guides. See ‘git help <command>’ or ‘git help <concept>’
to read about a specific subcommand or concept.

"三角" ワークフロー対応の強化

git は "三角" ワークフローに対応しました。デフォルトのプロセスが、いつもどこか一カ所からプルして、他の場所へプッシュするような状況のことです。それを行うために、設定変数 origin を新しい remote.pushdefault で上書きし、branch.❊.remotebranch.❊.pushremote で上書きすることができます。

改善された Reverts、Rebases、Bisects ステータス

revert セッション、cherry-pick あるいは bisect セッション中の git status のレポートが改善されました。

追跡されないサブモジュール! ついに

もし私が以前書いたgit submodule に関する記事 をお読みでしたら、 比較的簡単な操作が submodule コマンドライン インターフェースによりあまりよくサポートされていなかったことをご覧になったでしょう。いいニュースがあります!

"このサブモジュールにはもう興味がない" ということを git submodule deinit により言えるようになりました。

その他に紹介しておきたいこと

  • 新しい –follow-tags オプションは、ブランチをプッシュするときに、git push に、関連する注釈付きタグをプッシュするよう伝えます。
  • “世界の外からやってきたランダムな文字列を持っている。そんなオブジェクトが存在することを確かめる間、それを 40-hex オブジェクト名に変換したい。” と頼む良い方法はありませんでした。新しく導入された拡張子 ^{object}rev-parse –verify とともにその目的で使うことができます。

結論

今日はここまでです。紹介したものを試してみてください。アップデートの長いリストから私が紹介していなかったもので、紹介すべきものがありましたらどうぞお知らせください。

いつもどおり @durdn で私をフォローしてください。DVCS 関連情報について @AtlDevtools チームも素晴らしい情報を発信しているのでフォローしてください。

*本ブログは Atlassian Blogs の翻訳です。本文中の日時などは投稿当時のものですのでご了承ください。
*原文 : 2013 年 5 月 30 日 "What You Need To Know About The New Git 1.8.3"