beyondlinuxfromscratch:installedpackages:git-2.44.0

Beyond Linux® From Scratch (systemd Edition) - Version 12.1
Chapter 13. Programming
이전 위로 / 처음으로 다음
GDB-14.1 Running a Git Server

Git은 소규모 프로젝트부터 초대형 프로젝트까지 모든 것을 빠르고 효율적으로 처리하도록 설계된 무료 오픈 소스 분산 버전 관리 시스템입니다. 모든 Git 클론은 네트워크 액세스나 중앙 서버에 의존하지 않고 완전한 히스토리와 전체 수정본 추적 기능을 갖춘 완전한 리포지토리입니다. 브랜치 및 병합이 빠르고 쉽습니다. Git은 Mercurial-6.6.3, Bazaar, Subversion-1.14.3, CVS, Perforce, Team Foundation Server 등의 도구와 마찬가지로 파일의 버전 관리에 사용됩니다.

이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.

패키지 정보

  • 다운로드(HTTP): git-2.44.0.tar.xz
  • MD5 Sum: 7e4eb7c45e9ba7c90fa51deeea49732f
  • 다운로드 크기: 7.1 MB
  • 필요한 예상 디스크 공간: 307 MB (다운로드한 문서 포함, 문서 빌드 시 18 MB 추가)
  • 예상 빌드 시간: 0.3 SBU (병렬 처리=4, 문서 빌드 시 0.4 SBU 추가, 테스트 시 최대 5 SBU (디스크 속도에 따라 다름))

추가 다운로드

Git 종속성

권장
  • cURL-8.6.0 http, https, ftp 또는 ftp를 통해 Git을 사용하려면 필요
선택 사항
선택 사항 (man, html, 기타 문서 생성)

다음과 같이 Git을 설치합니다.

./configure --prefix=/usr \
            --with-gitconfig=/etc/gitconfig \
            --with-python=python3 &&
make

매뉴얼 페이지 및/또는 HTML 문서를 직접 빌드하거나 다운로드한 문서를 사용할 수 있습니다. 빌드하기로 선택한 경우 다음 두 가지 설명을 읽어주세요.

asciidoc-10.2.0을 설치한 경우 man 페이지 및 기타 문서의 html 버전을 만들 수 있습니다.

make html

asciidoc-10.2.0xmlto-0.0.28을 설치한 경우 man 페이지를 만들 수 있습니다.

make man

테스트 스위트는 다중 실행할 수 있습니다. 테스트 스위트를 실행하려면 다음과 같이 진행하세요. make test -k |& tee test.log. 일부 테스트가 실패한 경우, 실패한 테스트 목록은 grep '^not ok' test.log | grep -v TODO를 통해 확인할 수 있습니다.

이제 root 사용자로

make perllibdir=/usr/lib/perl5/5.38/site_perl install

man page, HTML 문서를 빌드하는 경우

root 사용자로 man 페이지를 설치합니다.

make install-man

root 사용자로 html 문서를 설치합니다.

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

man page, html 문서를 다운로드한 경우

man page를 다운로드한 경우 root 사용자로 압축을 해제하세요.

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

html 문서를 다운로드한 경우 root 사용자로 압축을 해제하세요.

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

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

html-docs의 html 및 텍스트 재구성(두 방법 모두)

두 방법 모두 html-docs에는 많은 일반 텍스트 파일이 포함되어 있습니다. root 사용자로 파일을 다시 정리합니다.

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

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

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

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

  • –with-gitconfig=/etc/gitconfig:
    시스템 전체의 기본 Git 설정을 저장하는 파일로 /etc/gitconfig를 설정합니다.
  • –with-python=python3:
    관리가 종료된 Python 2 대신 Python 3을 사용합니다. Python은 Perforce 리포지토리에 대한 git p4 인터페이스에 사용되며 일부 테스트에도 사용됩니다.
  • –with-libpcre2:
    PCRE2가 설치되어 있고 기본값이 아닌 JIT가 활성화된 상태로 빌드된 경우 이 스위치를 사용합니다.
  • –with-libpcre1:
    PCRE2 대신 더 이상 사용되지 않는 PCRE가 설치되어 있고 기본값이 아닌 JIT가 활성화된 상태로 빌드된 경우 이 스위치를 사용합니다.
  • tar -xf ../git-manpages-2.44.0.tar.gz -C /usr/share/man –no-same-owner:
    git-manpages-2.44.0.tar.gz를 untar합니다. -C 옵션은 문서의 압축을 풀기 전에 tar가 디렉터리를 /usr/share/man으로 변경하도록 한다. -no-same-owner 옵션은 tar가 파일의 사용자 및 그룹 세부 정보를 보존하지 않도록 합니다. 이 옵션은 해당 사용자나 그룹이 시스템에 존재하지 않을 경우 (잠재적으로) 보안 위험이 될 수 있으므로 유용합니다.
  • mv /usr/share/doc/git-2.44.0 …: 일부 파일을 하위 폴더로 이동하여 문서를 쉽게 정렬하고 원하는 것을 찾을 수 있도록 합니다.
  • find … chmod …: 제공된 문서 tar 파일의 권한을 수정합니다.

설정 파일

~/.gitconfig/etc/gitconfig

  • 설치된 프로그램:
    git, git-receive-pack, git-upload-archive, git-upload-pack(서로 하드 링크), git-cvsserver, git-shell, gitk 및 scalar
  • 설치된 디렉터리
    /usr/libexec/git-core, /usr/lib/perl5/5.38/site_perl/Git, /usr/share/{doc/git-2.44.0,git-core,git-gui,gitk,gitweb}

간단한 설명

  • git
    둔한 콘텐츠 트래커
  • git-cvsserver
    Git용 CVS 서버 에뮬레이터
  • gitk
    그래픽 Git 리포지토리 브라우저(Tk-8.6.13 필요)
  • git-receive-pack
    git send-pack에 의해 호출되고 원격 종단에서 공급된 정보로 리포지토리를 업데이트한다.
  • git-shell
    SSH 계정에 제한된 Git에 액세스하기 위한 로그인 셸입니다.
  • git-upload-archive
    git archive –remote에 의해 호출되며 생성된 아카이브를 git 프로토콜을 통해 다른 쪽 끝으로 보냅니다.
  • git-upload-pack
    git fetch-pack에 의해 호출되며, 상대방이 누락한 오브젝트를 발견하고 패킹 후 전송한다.
  • scalar
    대규모 리포지토리에서 사용하기 위해 Git을 최적화하는 리포지토리 관리 도구입니다.
  • beyondlinuxfromscratch/installedpackages/git-2.44.0.txt
  • 마지막으로 수정됨: 2024/05/22 20:08
  • 저자 baecy