Introduction to 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-3.9, Bazaar, Subversion-1.9.4, CVS, Perforce, and Team
          Foundation Server.
        
        
          This package is known to build and work properly using an LFS-7.10
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          Git Dependencies
        
        
          Recommended
        
        
          cURL-7.50.1 (needed to use Git over http, https, ftp or ftps), OpenSSL-1.0.2h, and Python-2.7.12
        
        
          Optional
        
        
          PCRE-8.39,
          Subversion-1.9.4 with Perl bindings (for
          git svn), Tk-8.6.6 (gitk, a simple
          Git repository viewer, uses
          Tk at runtime), and Valgrind-3.11.0
        
        
          Optional (to create the man pages, html docs and other docs)
        
        
          xmlto-0.0.28 and asciidoc-8.6.9 or
          AsciiDoctor,
          and also dblatex (for the PDF version
          of the user manual), and docbook2x to create info
          pages
        
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/git
        
       
      
        
          Installation of Git
        
        
          Install Git by running the
          following commands:
        
        
./configure --prefix=/usr --with-gitconfig=/etc/gitconfig &&
make
        
          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.
        
        
          If you have installed asciidoc-8.6.9 you can create the html version
          of the man pages and other docs:
        
        
make html
        
          If you have installed asciidoc-8.6.9 and xmlto-0.0.28 you can
          create the man pages:
        
        
make man
        
          The test suite can be run in parallel mode. To run the test suite,
          issue: make test. If
          run as a normal user, 0 tests should be reported as failed in the
          final summary.
        
        
          Now, as the root user:
        
        
make install
        
          If you created the man pages and/or html docs
        
        
          Install the man pages as root user:
        
        
make install-man
        
          Install the html docs as root user:
        
        
make htmldir=/usr/share/doc/git-2.9.3 install-html
        
          If you downloaded the man pages and/or html docs
        
        
          If you downloaded the man pages untar them as the root user:
        
        
tar -xf ../git-manpages-2.9.3.tar.xz \
    -C /usr/share/man --no-same-owner --no-overwrite-dir
        
          If you downloaded the html docs untar them as the root user:
        
        
mkdir -vp   /usr/share/doc/git-2.9.3 &&
tar   -xf   ../git-htmldocs-2.9.3.tar.xz \
      -C    /usr/share/doc/git-2.9.3 --no-same-owner --no-overwrite-dir &&
find        /usr/share/doc/git-2.9.3 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.9.3 -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.9.3/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.9.3/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.9.3/{git*.,index.,man-pages/}html &&
mkdir -vp /usr/share/doc/git-2.9.3/technical/{html,text}         &&
mv        /usr/share/doc/git-2.9.3/technical/{*.txt,text}        &&
mv        /usr/share/doc/git-2.9.3/technical/{*.,}html           &&
mkdir -vp /usr/share/doc/git-2.9.3/howto/{html,text}             &&
mv        /usr/share/doc/git-2.9.3/howto/{*.txt,text}            &&
mv        /usr/share/doc/git-2.9.3/howto/{*.,}html
       
      
        
          Command Explanations
        
        
          --with-gitconfig=/etc/gitconfig: This
          sets /etc/gitconfig as the file that
          stores the default, system wide, Git settings.
        
        
          --without-python: Use this switch if
          Python is not installed.
        
        
          --with-libpcre: Use this switch if
          PCRE is installed.
        
        
          tar -xf ../git-manpages-2.9.3.tar.gz
          -C /usr/share/man --no-same-owner: This untars
          git-manpages-2.9.3.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.9.3
          ...: 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.