Git の概要

Git is a free and open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. Git is used for version control of files, much like tools such as Mercurial-5.3.1, Bazaar, Subversion-1.13.0, CVS, Perforce, and Team Foundation Server.

本パッケージは LFS-9.1 において正しくビルドでき動作することが確認されています。


  • ダウンロード (HTTP):

  • ダウンロード MD5 sum: 92bf65673b4fc08b64108d807f36f4d9

  • ダウンロードサイズ: 5.6 MB

  • 必要ディスク容量: 508 MB(ダウンロードドキュメントを含む)

  • 概算ビルド時間: 0.3 SBU(parallelism=4 処理時; テスト実施時はさらに 3.8 SBU)


Git の依存パッケージ



pcre2-10.34 (or the deprecated PCRE-8.44), in either case configured with --enable-jit, Python-2.7.17, Subversion-1.13.0 with Perl bindings (for git svn), Tk-8.6.10 (gitk, a simple Git repository viewer, uses Tk at runtime), and Valgrind-3.15.0

任意 (man ページと html ドキュメントなどを生成する場合)

xmlto-0.0.28, asciidoc-8.6.9 または AsciiDoctor, さらに dblatex (for the PDF version of the user manual), docbook2x to create info pages


Git のインストール

以下のコマンドを実行して Git をビルドします。

./configure --prefix=/usr --with-gitconfig=/etc/gitconfig &&

You can build the man pages and/or html docs, or use downloaded ones. If you choose to build them, use next two following instructions.

asciidoc-8.6.9 をインストールしていて htmlなどのドキュメントを生成したい場合は以下を実行します。

make html

asciidoc-8.6.9xmlto-0.0.28 をインストールしている場合、以下のコマンドを実行すれば man ページを生成することができます。

make man

テストスイートは並行モードでの実行も可能です。 ビルド結果をテストする場合は make test を実行します。 If run as a normal user, 0 tests should be reported as failed in the final summary.

root ユーザーになって以下を実行します。

make install

If you created the man pages and/or html docs

root ユーザーになって以下のコマンドを実行し man ページをインストールします。

make install-man

root ユーザーになって以下のコマンドを実行し html ドキュメントをインストールします。

make htmldir=/usr/share/doc/git-2.25.1 install-html

If you downloaded the man pages and/or html docs

man ページをダウンロードしている場合は、root ユーザーになって以下のように伸張 (解凍) します。

tar -xf ../git-manpages-2.25.1.tar.xz \
    -C /usr/share/man --no-same-owner --no-overwrite-dir

html ドキュメントをダウンロードしている場合は、root ユーザーになって以下のように伸張 (解凍) します。

mkdir -vp   /usr/share/doc/git-2.25.1 &&
tar   -xf   ../git-htmldocs-2.25.1.tar.xz \
      -C    /usr/share/doc/git-2.25.1 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.25.1 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.25.1 -type f -exec chmod 644 {} \;

Reorganize text and html in the html-docs (both methods)

For both methods, the html-docs include a lot of plain text files. Reorganize the files as the root user:

mkdir -vp /usr/share/doc/git-2.25.1/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.25.1/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.25.1/{git*.,index.,man-pages/}html &&

mkdir -vp /usr/share/doc/git-2.25.1/technical/{html,text}         &&
mv        /usr/share/doc/git-2.25.1/technical/{*.txt,text}        &&
mv        /usr/share/doc/git-2.25.1/technical/{*.,}html           &&

mkdir -vp /usr/share/doc/git-2.25.1/howto/{html,text}             &&
mv        /usr/share/doc/git-2.25.1/howto/{*.txt,text}            &&
mv        /usr/share/doc/git-2.25.1/howto/{*.,}html               &&

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.25.1/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.25.1/howto-index.txt


--with-gitconfig=/etc/gitconfig: This sets /etc/gitconfig as the file that stores the default, system wide, Git settings.

--with-python=python3: Use this switch to allow using Python 3. Python is only used for the git p4 interface to Perforce repositories.

--with-libpcre2: Use this switch if PCRE2 is installed and has been built with the non-default JIT enabled.

--with-libpcre: As an alternative to PCRE2, use this switch if the deprecated PCRE is installed and has been built with the non-default JIT enabled.

tar -xf ../git-manpages-2.25.1.tar.gz -C /usr/share/man --no-same-owner: This untars git-manpages-2.25.1.tar.gz. The -C option makes tar change directory to /usr/share/man before it starts to decompress the docs. The --no-same-owner option stops tar from preserving the user and group details of the files. This is useful as that user or group may not exist on your system; this could (potentially) be a security risk.

mv /usr/share/doc/git-2.25.1 ...: These commands move some of the files into subfolders to make it easier to sort through the docs and find what you're looking for.

find ... chmod ...: These commands correct the permissions in the shipped documentation tar file.

Git の設定


~/.gitconfig, /etc/gitconfig


インストールプログラム: git, git-receive-pack and git-upload-archive (hardlinked to each other), git-cvsserver, git-shell, git-upload-pack, gitk
インストールライブラリ: なし
インストールディレクトリ: /usr/share/perl5/Git, /usr/libexec/git-core, /usr/share/{doc/git-2.25.1,git-core,git-gui,gitk,gitweb}



is the stupid content tracker.


is a CVS server emulator for Git.


Git リポジトリブラウザー (Tk-8.6.10 が必要)


is invoked by git send-pack and updates the repository with the information fed from the remote end.


is a login shell for SSH accounts to provide restricted Git access.


is invoked by git archive --remote and sends a generated archive to the other end over the git protocol.


is invoked by git fetch-pack, it discovers what objects the other side is missing, and sends them after packing.

最終更新日: 2020-03-02 09:54:00 +0900