Git を Ubuntu 12.04 (amd64) でソースからインストールする

多分というか間違いなく `build-essential` は必要．予めインストールしておきましょう．あと Git のソース自身を取得するのに Git を使ったので，`git` パッケージも必要．それすら入れたく無い人は zip でソースとってくればいいと思います．

自分がやったのは以下の通り．

```sh
sudo apt-get install autoconf gettext asciidoc
git clone https://github.com/git/git.git --depth 1
cd git
make configure
./configure --prefix=$HOME/local
make all doc
make install install-doc install-html
```

## 追記

これでは https な URL で clone 出来ないそうなので，以下のようにすると良さそうです．

```sh
sudo apt-get install autoconf gettext asciidoc libcurl4-openssl-dev # libcurl4-openssl-dev を追加
git clone https://github.com/git/git.git --depth 1
cd git
make configure
./configure --prefix=$HOME/local --with-curl=/usr/local # --with-curl=... を追加
make all doc
make install install-doc install-html
```

(追記ここまで)

`configure` ファイルが無いのでまずそれを `make` で作る必要があります．そこで `autoconf` が必要になります．

また `make all doc` のときにも 2 回ほどコケたのですが適当にエラー文そのままでググって解決出来ました．とりあえず結論だけ言うと `gettext` と `asciidoc` パッケージが必要でした．

`$HOME/local/bin` を `$PATH` に追加しておくのはもちろん必要．その辺は各自の環境によりけりで…　またそういう基本的なことを解説するエントリとかちゃんと書きたい．何となく知ってるけど詳しく知らない…な人 (数年前の自分状態) は結構居ると思うんです…

# 参考

Git 公式のダウンロードガイドページ．Git via Git な項目を参照しました．

* http://git-scm.com/downloads

autoconf が無くてコケたときに以下を参照しました．

* http://blog.broomie.net/index.cgi?id=46

`MSGFMT    po/de.msg make[1]: *** [po/de.msg] Error 127` なエラーに遭遇したとき以下の 2 ページを参照しました．

* http://blogs.yahoo.co.jp/katashiyo515/761808.html
* http://scottschulz.us/2008/06/07/ubuntu-hardy-the-10-minute-git-install/

# git-flow

今まで apt でインストール出来る Git に，これまた apt でインストール出来る `git-flow` をインストールして使っていました．それはどうなっちゃうのかなぁ…　と思ったのですがどうやら新しくインストールされた Git で普通に使えるようです．

とりあえず `git flow init` `git flow feature start myfeature` `git flow feature finish myfeature` を試してみただけですけど…

# 小学生並の感想

asciidoc が無い的なエラーを回避するためにとりあえず `asciidoc` ってパッケージインストールしたのですがこれが異様に重かった (700MB くらいあった) ので大変でした．

なんか大量にパッケージインストールされたんですけどこんなに入れなくても良かったんじゃないかと思います．

```text
The following extra packages will be installed:
  dblatex docbook-dsssl docbook-utils docbook-xsl intltool-debian jadetex lacheck latex-beamer latex-xcolor
  libmail-sendmail-perl libosp5 libostyle1c2 libsgmls-perl libsp1c2 libsys-hostname-long-perl lmodern luatex lynx lynx-cur
  openjade pgf po-debconf preview-latex-style prosper ps2eps sgmlspl sp tex-common texlive texlive-base
  texlive-bibtex-extra texlive-binaries texlive-common texlive-doc-base texlive-extra-utils texlive-font-utils
  texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base
  texlive-latex-base-doc texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended
  texlive-latex-recommended-doc texlive-luatex texlive-math-extra texlive-pictures texlive-pictures-doc texlive-pstricks
  texlive-pstricks-doc tipa xmlto xsltproc
Suggested packages:
  vim-addon-manager source-highlight docbook latex-cjk-all opensp texlive-lang-cyrillic texlive-xetex transfig
  docbook-dsssl-doc docbook-xsl-doc-html docbook-xsl-doc-pdf docbook-xsl-doc-text docbook-xsl-doc libsaxon-java
  libxalan2-java libxslthl-java docbook-xsl-saxon fop xalan dbtoepub auctex sgmls-doc libmail-box-perl debhelper
  texlive-doc-en perl-tk dvidvi fragmaster latexmk purifyeps xindy psutils t1utils texpower dot2tex xmltex
The following NEW packages will be installed:
  asciidoc dblatex docbook-dsssl docbook-utils docbook-xsl intltool-debian jadetex lacheck latex-beamer latex-xcolor
  libmail-sendmail-perl libosp5 libostyle1c2 libsgmls-perl libsp1c2 libsys-hostname-long-perl lmodern luatex lynx lynx-cur
  openjade pgf po-debconf preview-latex-style prosper ps2eps sgmlspl sp tex-common texlive texlive-base
  texlive-bibtex-extra texlive-binaries texlive-common texlive-doc-base texlive-extra-utils texlive-font-utils
  texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base
  texlive-latex-base-doc texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended
  texlive-latex-recommended-doc texlive-luatex texlive-math-extra texlive-pictures texlive-pictures-doc texlive-pstricks
  texlive-pstricks-doc tipa xmlto xsltproc
0 upgraded, 55 newly installed, 0 to remove and 0 not upgraded.
Need to get 275 MB/454 MB of archives.
After this operation, 747 MB of additional disk space will be used.
```