영어프랑스어스페인어

Ad


온웍스 파비콘

git-daemon - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 git-daemon을 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 git-daemon 명령입니다.

프로그램:

이름


git-daemon - Git 리포지토리를 위한 정말 간단한 서버

개요


자식 악마 [--verbose] [--syslog] [--내보내기-모두]
[--시간 초과= ] [--init-timeout= ] [--최대 연결 수= ]
[--엄격한 경로] [--기본 경로= ] [--기본 경로-완화]
[--사용자 경로 | --사용자 경로= ]
[--보간된 경로= ]
[--reuseaddr] [--detach] [--pid-파일= ]
[--활성화= ] [--비활성화= ]
[--허용-재정의= ] [--금지-재정의= ]
[--액세스-훅= ] [--[no-]정보-오류]
[--inetd |
[--듣기= ] [--포트= ]
[--사용자= [--그룹= ]]]
[ ...]

기술


일반적으로 포트 "DEFAULT_GIT_PORT"(일명 9418)에서 수신 대기하는 매우 간단한 TCP Git 데몬입니다.
서비스를 요청하는 연결을 기다리고, 연결이 있으면 해당 서비스를 제공합니다.
사용하도록 설정되었습니다.

디렉토리에 매직 파일 "git-daemon-export-ok"가 있는지 확인하고
이 방법으로 내보내기 위해 명시적으로 표시되지 않은 Git 디렉토리 내보내기를 거부합니다.
(만약 --전체 내보내기 매개변수가 지정됨). 일부 디렉토리 경로를 다음과 같이 전달하면 자식
악마 인수를 사용하면 제안을 해당 제안으로 구성된 화이트리스트로 추가로 제한할 수 있습니다.

기본적으로 업로드 팩 서비스만 활성화되어 있습니다. 자식 가져오기 팩자식
ls-원격 클라이언트는 다음에서 호출됩니다. 자식 술책, 자식 당겨자식 복제.

이는 읽기 전용 업데이트, 즉 Git 저장소에서 가져오는 데 이상적입니다.

업로드 아카이브도 존재합니다. 자식 아카이브.

옵션


--엄격한 경로
경로를 정확하게 일치시키십시오. 즉, 실제 경로가 다음과 같은 경우 "/foo/repo"를 허용하지 마십시오.
"/foo/repo.git" 또는 "/foo/repo/.git") 사용자 상대 경로를 수행하지 마세요. 자식 악마
이 옵션이 활성화되고 화이트리스트가 지정되지 않으면 시작을 거부합니다.

--기본 경로=
지정된 경로를 기준으로 모든 경로 요청을 다시 매핑합니다. 이것은 일종의 "Git 루트"입니다.
- 달리면 자식 악마--기본 경로=/srv/git example.com에서, 나중에
당기려고 자식://example.com/hello.git, 자식 악마 경로를 다음과 같이 해석합니다.
/srv/git/hello.git.

--기본 경로 완화
--base-path가 활성화되어 있고 repo 조회가 실패하는 경우 이 옵션을 사용하세요. 자식 악마 의지
기본 경로 앞에 접두사를 붙이지 않고 조회를 시도합니다. 이는 다음으로 전환하는 데 유용합니다.
--base-path 사용법. 이전 경로는 계속 허용됩니다.

--보간된 경로=
가상 호스팅을 지원하기 위해 보간된 경로 템플릿을 사용하여 동적으로
대체 경로를 구성합니다. 템플릿은 대상 호스트 이름에 대해 %H를 다음과 같이 지원합니다.
클라이언트에서 제공하지만 정식 호스트 이름의 경우 모두 소문자인 %CH로 변환됩니다.
서버의 IP 주소는 %IP, 포트 번호는 %P, 절대 경로는 %D
명명된 저장소의 보간 후 경로는
디렉토리 화이트리스트.

--전체 내보내기
Git 저장소처럼 보이는 모든 디렉토리에서 가져오기를 허용합니다( 사물
심판 하위 디렉터리) git-데몬-내보내기-확인 파일.

--inetd
서버를 inetd 서비스로 실행하십시오. --syslog를 의미합니다. --detach와 호환되지 않습니다.
--port, --listen, --user 및 --group 옵션.

--들어봐=
특정 IP 주소 또는 호스트 이름을 수신합니다. IP 주소는 IPv4일 수 있습니다.
주소 또는 지원되는 경우 IPv6 주소입니다. IPv6가 지원되지 않는 경우
--listen=hostname도 지원되지 않으며 --listen에는 IPv4 주소가 제공되어야 합니다.
여러 번 주어질 수 있습니다. 호환되지 않음 --inetd 옵션을 선택합니다.

--포트=
대체 포트에서 수신합니다. 호환되지 않음 --inetd 옵션을 선택합니다.

--초기화 시간 초과=
연결이 설정된 순간과 클라이언트 사이의 시간 초과(초)
요청이 수신되었습니다(일반적으로 다소 낮은 값입니다. 기본적으로
즉각적인).

--시간 초과=
특정 클라이언트 하위 요청에 대한 시간 초과(초)입니다. 여기에는 소요되는 시간이 포함됩니다.
서버가 하위 요청을 처리하는 데 소요되는 시간과 다음 요청을 기다리는 데 소요되는 시간
클라이언트의 요청.

--최대 연결 수=
최대 동시 클라이언트 수, 기본값은 32입니다. 제한이 없는 경우 XNUMX으로 설정하세요.

--syslog
stderr 대신 syslog에 로그인하십시오. 이 옵션은 --verbose를 의미하지 않습니다.
기본적으로 오류 조건만 기록됩니다.

--사용자 경로, --사용자 경로=
요청에 ~user 표기법을 사용할 수 있도록 허용합니다. 매개변수 없이 지정하면
git://host/~alice/foo에 대한 요청은 액세스 요청으로 간주됩니다. 리포지토리
사용자 Alice의 홈 디렉터리입니다. --user-path=path가 지정된 경우 동일한 요청이
사용자의 홈 디렉터리에 있는 path/foo 저장소에 액세스하기 위한 요청으로 간주됩니다.
앨리스.

--말 수가 많은
들어오는 연결 및 요청된 파일에 대한 세부 정보를 기록합니다.

--reuseaddr
청취 소켓을 바인딩할 때 SO_REUSEADDR을 사용하십시오. 이를 통해 서버를 다시 시작할 수 있습니다.
이전 연결이 시간 초과될 때까지 기다리지 않고.

--분리하다
껍질에서 분리합니다. --syslog를 의미합니다.

--pid-파일=
프로세스 ID를 다음에 저장하십시오. 파일. --inetd에서 데몬이 실행될 때 무시됩니다.

--사용자= , --그룹=
서비스 루프에 들어가기 전에 데몬의 uid 및 gid를 변경하십시오. --user 만 있는 경우
--group 없이 지정하면 사용자의 기본 그룹 ID가 사용됩니다. 의 가치
옵션이 주어집니다 getpwnam(3)과하면 getgrnam(3) 및 숫자 ID는 지원되지 않습니다.

--inetd와 함께 사용할 경우 이러한 옵션을 제공하면 오류가 발생합니다. inet의 기능을 사용하십시오
생성되기 전에 동일한 작업을 수행하는 데몬 자식 악마 필요한 경우.

사용자 ID를 전환하는 많은 프로그램과 마찬가지로 데몬은 환경을 재설정하지 않습니다.
git 프로그램(예: upload-pack 및 receive-pack)을 실행할 때 $HOME과 같은 변수.
이 옵션을 사용할 때 HOME을 집의 지점으로 설정하고 내보낼 수도 있습니다.
디렉토리 데몬을 시작하기 전에 Git 구성을 확인하십시오.
해당 디렉토리의 파일은 다음에서 읽을 수 있습니다. .

--활성화= , --비활성화=
기본적으로 사이트 전체에서 서비스를 활성화/비활성화합니다. 서비스가 비활성화되었습니다.
사이트 전체는 재정의 가능으로 표시되고 저장소별로 계속 활성화될 수 있습니다.
저장소는 구성 항목으로 서비스를 활성화합니다.

--허용 재정의= , --forbid-override=
저장소 구성별로 사이트 전체 기본값을 재정의하는 것을 허용/금지합니다. 에 의해
기본적으로 모든 서비스가 재정의될 수 있습니다.

--[no-]정보-오류
정보 오류가 켜져 있으면 git-daemon은 더 자세한 오류를 보고합니다.
클라이언트는 "해당 저장소 없음"과 "저장소 없음"과 같은 조건을 구별합니다.
내보냈습니다. 이는 클라이언트에게 더 편리하지만 다음에 대한 정보가 유출될 수 있습니다.
내보내지 않은 저장소가 존재합니다. 정보 오류가 활성화되지 않은 경우 모든
오류는 클라이언트에 "액세스 거부"를 보고합니다. 기본값은 --no-informative-errors입니다.

--액세스-훅=
클라이언트가 연결될 때마다 먼저 다음에서 지정한 외부 명령을 실행합니다.
서비스 이름(예: "upload-pack"), 저장소 경로, 호스트 이름(%H),
표준 호스트 이름(%CH), IP 주소(%IP) 및 TCP 포트(%P)를 명령줄로 사용
인수. 외부 명령은 다음을 사용하여 종료하여 서비스 거부를 결정할 수 있습니다.
XNUMX이 아닌 상태(또는 XNUMX 상태로 종료하여 허용). 그것은 또한 볼 수 있습니다
요청자에 대해 알아보기 위한 $REMOTE_ADDR 및 $REMOTE_PORT 환경 변수
이 결정을 내릴 때.

외부 명령은 선택적으로 표준 출력에 단일 라인을 쓸 수 있습니다.
서비스를 거부하면 요청자에게 오류 메시지로 전송됩니다.


허용된 디렉터리의 화이트리스트에 추가할 디렉터리입니다. --strict-paths가 아닌 이상
지정하면 각 명명된 디렉터리의 하위 디렉터리도 포함됩니다.

서비스


이러한 서비스는 이 명령줄 옵션을 사용하여 전역적으로 활성화/비활성화할 수 있습니다.
명령. 보다 세밀한 제어가 필요한 경우(예: 자식 아카이브 맞서다
데몬이 제공하는 일부 선택된 리포지토리에서만), 리포지토리별 구성
파일을 사용하여 활성화하거나 비활성화할 수 있습니다.

업로드 팩
이는 다음과 같은 역할을 합니다. 자식 가져오기 팩자식 ls-원격 클라이언트. 기본적으로 활성화되어 있지만
저장소는 daemon.uploadpack 구성 항목을 false로 설정하여 이를 비활성화할 수 있습니다.

업로드 아카이브
이는 다음과 같은 역할을 합니다. 자식 아카이브 --원격. 기본적으로 비활성화되어 있지만 저장소는
daemon.uploadarch 구성 항목을 true로 설정하여 활성화하세요.

수신 팩
이는 다음과 같은 역할을 합니다. 자식 팩을 보내다 클라이언트, 익명 푸시를 허용합니다. 기본적으로 비활성화되어 있습니다.
있는 그대로 아니 프로토콜의 인증(즉, 누구나 푸시할 수 있음)
참조 제거를 포함하여 저장소에 있는 모든 것). 이것은 오로지 다음을 위한 것입니다.
모두가 친근한 폐쇄형 LAN 설정. 이 서비스는 다음 설정을 통해 활성화할 수 있습니다.
daemon.receivepack 구성 항목을 true로 설정합니다.

사용 예


우리는 다음을 가정합니다. / etc / services

$ grep 9418 / etc / services
git 9418/tcp # Git 버전 제어 시스템

자식 악마 inetd 서버로
설정하기 자식 악마 아래의 모든 저장소를 처리하는 inetd 서비스로
허용된 디렉토리 세트인 /pub/foo 및 /pub/bar에는 다음과 같은 항목을 배치합니다.
/etc/inetd에 모두 한 줄로 입력합니다:

git stream tcp 이제 아무도 기다리지 마세요 /usr/빈/git
git 데몬 --inetd --verbose --export-all
/펍/푸 /펍/바

자식 악마 가상 호스트를 위한 inetd 서버로
설정하기 자식 악마 다양한 저장소를 처리하는 inetd 서비스로
가상 호스트인 www.example.com 및 www.example.org에는 다음과 같은 항목을 입력하세요.
/etc/inetd에 모두 한 줄로 입력합니다:

git stream tcp 이제 아무도 기다리지 마세요 /usr/빈/git
git 데몬 --inetd --verbose --export-all
--보간된 경로=/pub/%H%D
/pub/www.example.org/software
/pub/www.example.com/software
/소프트웨어

이 예에서 루트 수준 디렉터리 /pub에는 각 디렉터리에 대한 하위 디렉터리가 포함됩니다.
가상 호스트 이름이 지원됩니다. 또한 두 호스트 모두 다음과 같이 저장소를 광고합니다.
git://www.example.com/software/repo.git. 1.4.0 이전 클라이언트의 경우 다음의 심볼릭 링크
/software를 적절한 기본 저장소에 추가할 수도 있습니다.

자식 악마 가상 호스트의 일반 데몬으로
설정하기 자식 악마 다음에 대한 리포지토리를 처리하는 inetd가 아닌 일반 서비스로
IP 주소를 기반으로 하는 여러 가상 호스트의 경우 다음과 같이 데몬을 시작합니다.

git 데몬 --verbose --export-all
--보간된 경로=/pub/%IP/%D
/pub/192.168.1.200/소프트웨어
/pub/10.10.220.23/소프트웨어

이 예에서 루트 수준 디렉터리 /pub에는 각 디렉터리에 대한 하위 디렉터리가 포함됩니다.
가상 호스트 IP 주소가 지원됩니다. 저장소는 여전히 호스트 이름으로 액세스할 수 있습니다.
그러나 해당 IP 주소에 해당한다고 가정합니다.

저장소별로 서비스를 선택적으로 활성화/비활성화
사용하려면 자식 아카이브 --원격 사용 중지 자식 술책 저장소에 대해
저장소의 구성 파일(즉, 설정 옆에
HEAD, 심판사물).

[악마]
업로드팩 = 거짓
업로드 아카이브 = 사실

환경


자식 악마 REMOTE_ADDR을 연결된 클라이언트의 IP 주소로 설정합니다.
IP 주소를 사용할 수 있습니다. REMOTE_ADDR은 후크 환경에서 사용할 수 있습니다.
서비스가 수행될 때 호출됩니다.

GIT


의 일부 자식(1) 스위트

onworks.net 서비스를 사용하여 온라인으로 git-daemon 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad