Existe atualmente uma maneira de hospedar um repositório Git compartilhado no Windows? Eu entendo que você pode configurar o serviço Git no Linux com:
git daemon
Existe uma opção nativa do Windows, com falta de compartilhamento de pastas, para hospedar um serviço Git?
EDITAR: Atualmente, estou usando a instalação cygwin do git para armazenar e trabalhar com repositórios git no Windows, mas gostaria de dar o próximo passo de hospedar um repositório com um serviço que pode fornecer acesso a outros.
git daemon
. : \Respostas:
Aqui estão algumas etapas que você pode seguir para fazer o daemon git rodar no Windows:
(Pré-requisitos: uma instalação Cygwin padrão e um cliente git compatível com daemon git)
Etapa 1 : abrir um shell bash
Etapa 2 : no diretório / cygdrive / c / cygwin64 / usr / local / bin /, crie um arquivo chamado "gitd" com o seguinte conteúdo:
Etapa 3 : execute o seguinte comando cygrunsrv em um prompt elevado (ou seja, como administrador) para instalar o script como um serviço (Observação: assume que o Cygwin está instalado em C: \ cygwin64):
Etapa 4 : execute o seguinte comando para iniciar o serviço:
cygrunsrv --start gitd
Você terminou. Se você quiser testá-lo, aqui está um script rápido e sujo que mostra que você pode enviar o protocolo git para sua máquina local:
fonte
GitStack pode ser sua melhor escolha. Atualmente é gratuito (para até 2 usuários)
e de código abertono momento da escrita.fonte
Este é um servidor git dedicado para Windows: https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
fonte
git update-server-info
) após o envio de HTTP, e essa lógica não é implementada por sua biblioteca Git (GitSharp). Duvido que chegue a um estado de funcionamento real tão cedo.Se você está trabalhando em um ambiente Windows, você considerou o Mercurial ? É um sistema de controle de versão distribuído como o Git, mas se integra de forma muito mais organizada e fácil ao Windows.
fonte
Instalar o CygWin é um exagero, leia este tutorial sobre como fazer isso de forma mais rápida e nativa:
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP
fonte
Se você receber o erro
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
depois de executar o comando:isso significa que você não criou a pasta 'caminho-base'.
Criar a pasta '/ git' e executar o comando novamente irá corrigir isso.
fonte
/git
permissões NTFS não permitirem o acesso de leitura / gravação da conta de serviço (SISTEMA).Atualmente, estou usando o daemon ssh do cygwin no Windows para servir e permitir o acesso remoto ao meu repo. Funciona muito bem, tenho controle total sobre quem acessa meu repo por meio de seus certificados SSH e o desempenho dispara, mesmo em links remotos de WAN e VPN.
Outra solução é usar Gitosis . É uma ferramenta que facilita muito a hospedagem de repositórios.
fonte
Você não precisa hospedar um serviço, você também pode criar um repositório compartilhado em uma unidade compartilhada. Basta criar um repositório vazio. Você pode clonar um repo existente em um compartilhado usando: "git clone --bare --shared [source] [dest]". Você também pode iniciar um novo repositório usando "git init --bare --shared = all".
Henk
fonte
Você já pensou em usar a camada cygwin? Veja este link .
fonte
Agora msysGit suporta daemon git! Funciona bem (pelo menos para mim). Vou tentar fazê-lo funcionar como serviço ...
fonte
Gerente SCM
fonte
No Windows, você também pode servir repositórios Git com Apache sobre HTTP ou HTTPS, usando a extensão DAV.
O caminho do repositório Git pode então ser protegido com verificações de autenticação Apache, como restringir a determinados endereços IP ou autenticação do tipo htpasswd / htdigest.
A limitação de usar a autenticação htpasswd / htdigest é que o nome de usuário: senha é passado na URL Git solicitada, portanto, restringir o acesso à URL Git a certos endereços IP é melhor.
Edit: Nota, você pode deixar a senha fora do URL do Git e o Git irá solicitar a senha em push e buscar / puxar.
Usar HTTPS significa que todos os dados são criptografados na transferência.
É fácil de configurar e funciona.
O exemplo a seguir mostra a combinação de controle de acesso por endereço IP e usuário: senha sobre HTTP padrão.
Exemplo de Apache Virtualhost
Exemplo .git / config
fonte
No trabalho, estou usando o GitBlit GO instalado em um Windows Server. Trabalhe perfeitamente e integre-se bem com ActiveDirectory para autenticação e autorização de usuário. Também é gratuito e de código aberto (licenciado Apache)
Página inicial do GitBlit
Apenas o acesso HTTP (S) é compatível, sem SSH, mas no Windows você não precisa de mais nada.
fonte
esta é uma resposta de 2015 a uma pergunta que já tem mais de 7 anos.
Por $ 10 de pagamento único, em https://bitbucket.org/product/server , pode-se comprar uma licença do Windows de 64 bits para até 10 usuários .
Aparentemente, as versões de 32 bits estão disponíveis apenas por meio de seu arquivo.
O Bitbucket Server era conhecido anteriormente como Stash .
Observe que não experimentei esta versão, mas $ 10 parece um bom negócio; li aqui que a Atlassian doa US $ 10 para instituições de caridade. FWIW
fonte
Acho que o que Henk está dizendo é que você pode criar um repositório compartilhado em uma unidade e depois copiá-lo para algum local comum ao qual vocês dois tenham acesso. Se houver algum servidor da empresa ou algo ao qual vocês dois tenham acesso ssh, você pode colocar o repositório em algum lugar onde possa SCP de volta para seu próprio computador e, em seguida, extrair dele. Fiz isso sozinha por um tempo, já que tenho dois computadores. É um incômodo, mas funciona.
fonte
Para Windows 7 x64 e Cygwin 1.7.9 eu precisei usar / usr / bin / gitd como o argumento args de cygrunsrv
Além disso, precisei executar o bash como administrador para instalar o serviço.
fonte