Por que não apenas instalar o svn no seu anúncio de notebook linux, use o check-out diretamente no repositório do projeto? O Git pode ser o novo gostinho, mas realmente parece que você está tornando sua vida desnecessariamente complicada neste caso específico.
18898
Bendin não, eu não sabia que era complicado, como eu estou configurando o ambiente agora estou feliz que você falou ...
Setori
1
Primeiramente: meu notebook não é permitido neste vpn, portanto não consigo acessar o svn diretamente. segundo: eu quero me comprometer com meu próprio repositório, o ponto principal do uso do git é para que eu possa fazer confirmações locais, ramificar e mesclar sem problemas. Acho que usar o svn agora é bastante apertado.
Setori
Se você tiver o Python instalado, um simples git instaweb -d pythonpoderia ser nough (com Git 2,21, fevereiro de 2019): ver minha resposta abaixo
VonC
Respostas:
197
Navegue no seu projeto e inicie o git-daemon com as seguintes opções:
cd project
git daemon --reuseaddr --base-path=. --export-all --verbose
Isso diz ao git-daemon para servir todos os projetos dentro do diretório atual (que eu assumo ser o diretório do projeto que contém a pasta .git /). Ele também diz para reutilizar o mesmo endereço se você o desligar e iniciar o backup muito rápido.
Você pode colocar isso em um script em lotes com um nome fácil de lembrar, como "gitserve", para não precisar digitar tudo novamente. Conforme sugerido em alguns dos comentários, nas versões recentes do Git você pode adicionar um alias à configuração do Git :
Eu acho importante observar que, embora git daemonpermita acesso remoto por outros clientes git, ele não possui a interface da Web que hg servefornece.
Rob Kennedy
4
faça servir um alias no seu .gitrc como:serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
Em vez de escrever seu próprio script em lote, use gitjour . Ele sabe como iniciar o git daemon corretamente e transmitirá a URL do clone via mDNS para que você possa fazer isso gitjour showna caixa do linux e copiar e colar.
ele dizlighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
Rakib
4
@syedrakib Você precisará ter o lighttpd instalado, ou o apache2, ou qualquer outra coisa. Pessoalmente, uso git instaweb -d webrickno OS X, porque o webrick vem com o Ruby, que é pré-instalado no OS X.
Martijn Heemels
6
Esta ferramenta não parece ser compatível com o Windows. Como o pôster estava pedindo uma ferramenta do Windows, esse é um fator importante para esta resposta.
Robert MacLean
9
Aqui está uma maneira alternativa. Você precisará do python instalado.
corre git update-server-info
vá para o .gitdiretório
corre python -mSimpleHTTPServer
(basta criar um alias no seu gitconfig)
Agora você pode puxar o repositório com git pull http://HOST_NAME:8000/
PS: ao usar a solução git daemon, você pode configurar --base-path=.gitpara que o URL sejagit://HOST/
Eu apenas tentei cegamente. Eu consigo git clone, mas não consigo acessar o webgui. Parece que o navegador está aguardando uma resposta do seu servidor.
S3
0
Adicione as seguintes linhas em .git / config
[instaweb]
local = true
httpd = webrick
port = 4231
git-instaweb: adicionar http.serversuporte incorporado ao Python
Com esse patch, é possível iniciar git-instawebusando o http.servermanipulador Python CGI via -d pythonopção.
git-instawebgera um pequeno invólucro em torno do http.server(in GIT_DIR/gitweb/) que aborda uma limitação do manipulador CGI em que os scripts CGI precisam estar em um cgi-binsubdiretório e o índice do diretório não pode ser facilmente alterado. Para manter a implementação pequena, gitwebestá sendo executado no URL /cgi-bin/gitweb.cgie um redirecionamento automático é feito ao abrir /.
O wrapper gerado é compatível com o Python 2 e 3.
Por padrão, o Python é instalado nas distribuições mais modernas do Linux, o que permite a execução git instaweb -d pythonsem a necessidade de mais nada.
git instaweb -d python
poderia ser nough (com Git 2,21, fevereiro de 2019): ver minha resposta abaixoRespostas:
Navegue no seu projeto e inicie o git-daemon com as seguintes opções:
Isso diz ao git-daemon para servir todos os projetos dentro do diretório atual (que eu assumo ser o diretório do projeto que contém a pasta .git /). Ele também diz para reutilizar o mesmo endereço se você o desligar e iniciar o backup muito rápido.
Você pode colocar isso em um script em lotes com um nome fácil de lembrar, como "gitserve", para não precisar digitar tudo novamente. Conforme sugerido em alguns dos comentários, nas versões recentes do Git você pode adicionar um alias à configuração do Git :
Uma vez feito isso no servidor (sua caixa do Windows), você pode:
O git-daemon usa o protocolo git: // para transporte, portanto, no cliente (sua caixa Linux), você precisaria:
fonte
git daemon
permita acesso remoto por outros clientes git, ele não possui a interface da Web quehg serve
fornece.serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
Em vez de escrever seu próprio script em lote, use gitjour . Ele sabe como iniciar o git daemon corretamente e transmitirá a URL do clone via mDNS para que você possa fazer isso
gitjour show
na caixa do linux e copiar e colar.Também é um bom artigo com uma visão geral do gitjour e várias outras ferramentas semelhantes do Dr. Nic, O que é * jour e por que eles são aplicativos matadores para o RailsCamp08 .
fonte
Atualmente usando dois aliases - servir e hub. Servir para compartilhamento somente leitura e hub para compartilhamento de leitura / gravação:
Além disso, há um tutorial mais detalhado sobre o compartilhamento via git daemon: http://l.rw.rw/git-daemon .
fonte
Se você deseja apenas expor o repositório com um navegador da web
git-instaweb
fonte
lighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
git instaweb -d webrick
no OS X, porque o webrick vem com o Ruby, que é pré-instalado no OS X.Aqui está uma maneira alternativa. Você precisará do python instalado.
git update-server-info
.git
diretóriopython -mSimpleHTTPServer
(basta criar um alias no seu gitconfig)
Agora você pode puxar o repositório com
git pull http://HOST_NAME:8000/
PS: ao usar a solução git daemon, você pode configurar
--base-path=.git
para que o URL sejagit://HOST/
fonte
git-webui é uma extensão git que fornece uma interface de usuário baseada na web e a capacidade de clonar / extrair de outros computadores
https://github.com/alberthier/git-webui
Outras pessoas podem
ou
fonte
Adicione as seguintes linhas em .git / config
então execute
fonte
O Git 2.21 (fevereiro de 2019) permite combinar python e
git instaweb
:Veja commit 2eb14bb (28 Jan 2019) por Arti Zirk (
artizirk
) .(Mesclado por Junio C Hamano -
gitster
- in commit abf39e3 , 05 de fevereiro de 2019)fonte