GDB-14.1 | Running a Git Server |
Git-2.44.0
Git 소개
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-htmldocs-2.44.0.tar.xz 기타 문서(asciidoc-10.2.0을 설치했으며 문서를 다시 빌드하려는 경우 필요하지 않음).
Git 종속성
권장
- cURL-8.6.0 http, https, ftp 또는 ftp를 통해 Git을 사용하려면 필요
선택 사항
- Apache-2.4.58 일부 테스트용
- Fcron-3.2.1 런타임, git 유지 관리 작업 예약용
- GnuPG-2.4.4 런타임, Git 커밋 또는 태그 서명 또는 서명 확인에 사용
- OpenSSH-9.6p1 런타임, ssh를 통한 Git 사용에 필요
- pcre2-10.42 또는 사용 중단된 PCRE-8.45
- Subversion-1.14.3 Perl 바인딩 포함, 런타임, git svn용
- Tk-8.6.13 간단한 Git 리포지토리 뷰어인 gitk는 런타임에 Tk 사용
- SASL 런타임, git send-email
- Base64 런타임, git send-email용
- IO-Socket-SSL-2. 085 런타임, SSL 암호화를 사용하여 SMTP 서버에 연결하기 위한 git send-email용
- Systemd-255 런타임, Linux-PAM-1.6.0으로 재빌드, git 유지 관리 작업 스케줄링용
선택 사항 (man, html, 기타 문서 생성)
Git 설치
다음과 같이 Git을 설치합니다.
./configure --prefix=/usr \
--with-gitconfig=/etc/gitconfig \
--with-python=python3 &&
make
매뉴얼 페이지 및/또는 HTML 문서를 직접 빌드하거나 다운로드한 문서를 사용할 수 있습니다. 빌드하기로 선택한 경우 다음 두 가지 설명을 읽어주세요.
asciidoc-10.2.0을 설치한 경우 man 페이지 및 기타 문서의 html 버전을 만들 수 있습니다.
make html
asciidoc-10.2.0 및 xmlto-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 파일의 권한을 수정합니다.
Git 설정
설정 파일
~/.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을 최적화하는 리포지토리 관리 도구입니다.