힘내 어 봉사 : 나는 그것을 간단하게하고 싶습니다


139

Mercurial 의 hg 서브 와 같이 http = 단순히 게시하는 방법을 알고 싶습니다 ! Windows / 작업 상자에서 다음을 수행하십시오.

git serve 

그런 다음 Linux 상자에서 간단하게 이동하십시오.

git clone http://project project 

끝마친.


svn 저장소의 git-svn 복제본을 복제하는 것이 까다 롭다는 것을 알고 있습니까? subtlegradient.com/articles/2008/04/22/cloning-a-git-svn-clone
bendin

왜 리눅스 노트북 광고에 svn을 설치하여 프로젝트 저장소에서 직접 체크 아웃하지 않습니까? 힘내가 새로운 핫함 일지 모르지만,이 특별한 경우에 인생을 불필요하게 복잡하게 만드는 것처럼 보입니다.
bendin

내가 환경을 설정하는 메신저 지금 당신이 이야기
기뻐서 벤딘

1
첫째 : 내 노트북은이 VPN에 허용되지 않으므로 svn에 직접 액세스 할 수 없습니다. 둘째 : 내 저장소에 커밋하고 싶습니다 .git 사용의 요점은 로컬 커밋, 분기 및 고통없이 병합을 수행 할 수 있다는 것입니다. svn을 사용하면 오히려 경련이 발생합니다.
Setori

당신은 파이썬 설치 한 경우, 간단한은 git instaweb -d python다음을 참조하십시오 (힘내 2.21, 2019 2월로) 계속하지 수 내 대답은 아래
VonC

답변:


197

다음 스위치로 프로젝트를 탐색하고 git-daemon을 시작하십시오.

cd project
git daemon --reuseaddr --base-path=. --export-all --verbose

이것은 git-daemon에게 현재 디렉토리 (.git / 폴더를 포함하는 프로젝트 디렉토리라고 가정) 내의 모든 프로젝트를 제공하도록 지시합니다. 또한 종료하고 너무 빨리 백업하면 동일한 주소를 다시 사용하도록 지시합니다.

이것을 "gitserve"와 같이 기억하기 쉬운 이름으로 배치 스크립트에 넣을 수 있으므로 다시 입력 할 필요가 없습니다. 일부 의견에서 제안했듯이 최신 버전의 Git 에서는 Git 구성에 별칭을 추가 할 수 있습니다 .

[alias]
    serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git

서버 (Windows 상자)에서 완료되면 다음을 수행 할 수 있습니다.

git serve

git-daemon은 전송을 위해 git : // 프로토콜을 사용하므로 클라이언트 (Linux 상자)에서 다음을 수행해야합니다.

git clone git://123.456.789.111/ project

3
여기에 설명 된대로 당신 .gitconfig 파일에 별칭으로 명령을 추가 할 수 있습니다 git.or.cz/gitwiki/Aliases#Serverepoonthespot
RFelix


8
git daemon다른 자식 클라이언트에 의한 원격 액세스를 허용 하지만 hg serve제공 하는 웹 인터페이스가 부족하다는 점에 유의해야 합니다.
Rob Kennedy

4
:처럼 .gitrc에 별칭을 제공 할serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
dlamblin

1
@ 이온, URL이 변경된 것 같고 이제는 git.wiki.kernel.org/articles/a/l/i/Aliases.html
Christophe Muller


13

현재 서브와 허브라는 두 개의 별칭을 사용하고 있습니다. 읽기 전용 공유 및 읽기 / 쓰기 공유 허브 제공 :

[alias]
  serve = !git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
  hub = !git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors --verbose

또한, 공유에 대한 자세한 튜토리얼이를 통해 자식 데몬 : http://l.rw.rw/git-daemon .


12

웹 브라우저로 리포지토리를 노출하려는 경우

git-instaweb

$ git instaweb -d apache2 --start
$ lynx localhost:1234

그것은 말한다lighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
Rakib

4
@syedrakib lighttpd 또는 apache2 또는 다른 것을 설치해야합니다. git instaweb -d webrickwebrick에는 OS X에 사전 설치된 Ruby가 포함되어 있기 때문에 개인적 으로 OS X에서 사용합니다 .
Martijn Heemels

6
이 도구는 Windows와 호환되지 않는 것 같습니다. 포스터가 Windows 도구를 요구할 때이 답변에 중요한 요소입니다.
Robert MacLean

9

다른 방법이 있습니다. 파이썬이 설치되어 있어야합니다.

  • 운영 git update-server-info
  • .git디렉토리 로 이동
  • 운영 python -mSimpleHTTPServer

(gitconfig에 별명을 만드십시오)

이제 레포를 당겨서 git pull http://HOST_NAME:8000/

추신 : git 데몬 솔루션을 사용할 --base-path=.git때 URL이되도록 설정할 수 있습니다git://HOST/


0

git-webui는 웹 기반 사용자 인터페이스와 다른 컴퓨터에서 복제 / 풀링하는 기능을 제공하는 git 확장입니다.

https://github.com/alberthier/git-webui

$ cd my_git_repo
$ git webui

다른 사람들은

$ git clone http://<ip-of-your-computer>:8000/ repoclone

또는

$ git pull http://<ip-of-your-computer>:8000/

방금 맹목적으로 시도했습니다. git clone을 사용할 수 있지만 webgui에 액세스 할 수 없습니다. 브라우저가 서버의 응답을 기다리는 것 같습니다.
sree mar

0

.git / config에 다음 줄 추가

[instaweb]
               local = true
               httpd = webrick
               port = 4231

그런 다음 실행

git instaweb

0

Git 2.21 (2019 년 2 월)을 사용하면 파이썬과 git instaweb다음 을 결합 할 수 있습니다 .

참조 2eb14bb 커밋 에 의해 (2019 1월 28일) 아르 티 Zirk을 ( artizirk) .
(의해 병합 - Junio C 하마노 gitster-abf39e3 커밋 2019 05 2 월)

git-instaweb: Python 내장 http.server지원 추가

이 패치를 사용하면 옵션을 통해 git-instawebPython http.serverCGI 핸들러를 사용하여 시작할 수 -d python있습니다.

git-instawebCGI 스크립트가 서브 디렉토리 에 있어야 하고 디렉토리 색인을 쉽게 변경할 수없는 CGI 핸들러의 한계를 해결하는 http.server(in GIT_DIR/gitweb/) 주위에 작은 랩퍼를 생성합니다 cgi-bin. 구현을 작게 유지하려면 gitweburl에서 실행 중이며을 /cgi-bin/gitweb.cgi열 때 자동 리디렉션이 수행됩니다 /.

생성 된 래퍼는 Python 2 및 3과 호환됩니다.

Python은 기본적으로 최신 Linux 배포판에 기본적으로 설치되어 git instaweb -d python다른 작업없이 실행할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.