Configurar um servidor Git com msysgit no Windows [fechado]

163

Meus amigos e eu estamos tentando configurar o Git para Windows usando o tutorial Git Server: Gitosis e Cygwin no Windows , mas continuamos tendo problemas.

Como seria um guia "Setup Git Server" para Windows usando o msysgit ?

Há um comentário no tutorial acima sugerindo que isso não pode ser feito com o msysgit porque a gitosis requer o uso de um servidor SSH e Bash? O que é um guia passo a passo (como não há um disponível)?

  1. Instale o mysisgit

  2. ?

Kara
fonte
* Git para desenvolvedores do Windows . 3 partes, este é um link para a primeira. Um bom! * Um guia ilustrado para o Git no Windows * Extensões do Git (vídeos)
Rook
Usei a ferramenta no windowsgit.com, como sugeriu o linguista de computador depois de tentar (e falhar) com os métodos acima. Foi ridiculamente fácil e apenas funcionou. Vale a pena os US $ 9, IMO.
Edward Anderson
Você pode experimentar o Git Candy, uma plataforma Git baseada no ASP.NET MVC. Fonte em: github.com/Aimeast/GitCandy , Demonstração em: git.53wb.com
Aimeast

Respostas:

79

Eu encontrei este post e acabei de postar algo no meu blog que pode ajudar.

Consulte Configurando um servidor Msysgit com copSSH no Windows . É longo, mas consegui isso funcionando com sucesso no Windows 7 Ultimate x64.

Tim
fonte
5
Para o registro, pelo que sei, no ponto 5.5 das instruções de Tim, você precisa inserir o comando extra ANTES do #, não depois (caso contrário, ele permanece comentado).
Benjol 04/04/19
1
Você pode dar uma olhada no windowsgit.com .
Lilith River
6
Observe que o Copssh não é fornecido no sourceforge e não é mais gratuito a partir de abril de 2012
TiansHUo
2
@ Tim, você pode republicar o conteúdo do seu blog aqui? Se o seu blog ficar offline, essa resposta se tornará inútil.
Starfish
1
@ Starfish - É para isso que serve web.archive.org! Aqui está o artigo de Tim lá: web.archive.org/web/20100207010332/http://www.timdavis.com.au/...
alldayremix
27

Servidor Bonobo Git para Windows

Na página da web do Bonobo Git Server :

O Bonobo Git Server para Windows é um aplicativo da Web que você pode instalar no IIS e gerenciar e conectar-se facilmente aos seus repositórios git.

O Bonobo Git Server é um projeto de código aberto e você pode encontrar a fonte no github .

Recursos:

  • Acesso seguro e anônimo aos seus repositórios git
  • Interface web amigável para gerenciamento
  • Gerenciamento de acesso ao repositório baseado em usuário e equipe
  • Navegador de arquivos do repositório
  • Confirmar navegador
  • Localização

Brad Kingsley tem um bom tutorial para instalar e configurar o Bonobo Git Server.

GitStack

Git Stack é outra opção. Aqui está uma descrição do site:

O GitStack é um software que permite configurar seu próprio servidor Git privado para Windows. Isso significa que você cria um sistema de versão de ponta sem nenhum conhecimento prévio do Git. O GitStack também torna super fácil proteger e manter seu servidor atualizado. O GitStack é construído sobre o Git genuíno para Windows e é compatível com qualquer outro cliente Git. O GitStack é totalmente gratuito para equipes pequenas 1 .

1 a edição básica é gratuita para até 2 usuários

Daniel
fonte
1
O GitStack é gratuito apenas para até 5 usuários. Uma vez ultrapassado esse limite, você terá preços por ano com base no número de usuários. Consulte a página Preços no site do GitStack.
Simon Tewsi
2
Observe que o desenvolvedor original do Bonobo Git Server, Jakub Chodounský, disse em um post no fórum em 1 de janeiro de 2012 que ele não pode mais suportar o projeto.
Simon Tewsi
2
O GitStack agora é gratuito apenas para até 2 usuários.
M4N
2
Bonobo está ativo um projeto novamente.
Tomas Kubes
2
Lembre-se de ativar o IIS> Serviços WWW> Recursos de desenvolvimento de aplicativos> ASP.NET 4.5. Bonobo trabalhou para mim onde o GitStack (que nem podia usar o msysgit convencional) não funcionou, e Bonobo é de código aberto e licenciado pelo MIT! Isso oferece uma solução satisfatória para o Windows, por mais que eu prefira usar uma máquina Unix para esse fim.
Will
26

Com relação à referência à página de Tim Davis - Configurando um servidor Msysgit com copSSH no Windows - usei isso para obter um servidor Git em execução no Windows 7 Home Premium 64.

Abaixo está um post-mortem / atualização do que aprendi, além de suas instruções.

Como Tim Davis disse, esse foi um processo árduo e frustrante, pelo menos para mim - não sou muito bom com esse tipo de integração, mas aprendi muito no processo. Espero que minha dor beneficie outra pessoa no futuro, porque esse foi um processo árduo.

  1. Há uma etapa para copiar todos os executáveis ​​do Git para o diretório bin do CopSsh. Em vez de copiar arquivos e descobrir quais arquivos são necessários, adicione o caminho do git bin ao seu caminho. Fiz isso modificando meu perfil .bashrc e CopSsh.

    Aqui está o que eu adicionei ao .bashrc (no diretório inicial do CopSsh e Windows):

    gitpath = '/ cygdrive / c / Arquivos de Programas (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Arquivos de Programas (x86) / Git / libexec / git-core'

    PATH = $ {gitpath}: $ {gitcorepath}: $ {PATH}

    Aqui está o que eu adicionei ao perfil do bash (no CopSsh etc / profile):

    gitpath = '/ c / Arquivos de programa (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / arquivos de programa (x86) / Git / libexec / git-core'

    exportar PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    Há alguma duplicação aqui - funciona para mim, então alguém grite onde é o lugar correto para modificar o caminho.

  2. As versões mais recentes do msysgit podem não fornecer a tela para você escolher o executável ssh onde você escolhe entre o Git ssh e o PuTTY ssh. Você precisará definir o GIT_SSH manualmente se usar o PuTTY.

  3. Eu não segui uma parte das instruções e estava instalando o Tortoise - usei a linha de comando, pois é assim que prefiro aprender um vcs como fiz com o rcs e o Subversion e achei que funcionava para mim. Eu tive problemas com o comando clone usando o ssh. Aqui está como eu fiz isso:

    Clone do Git usando ssh - não é possível encontrar o repositório

    É aqui que eu mais bati com a cabeça.

  4. O diretório de instalação do CopSsh era / Arquivos de Programas (x86) / ICW. Eu me livrei disso, mas se o fizesse novamente, usaria um nome de diretório sem espaços.

  5. Essas outras fontes me ajudaram a entender as coisas:

    Outra maneira de configurar um servidor Git no Windows:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    O lado do cliente das coisas:

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    Uma explicação do Git como servidor (não relacionado ao Windows, mas com uma visão mais aprofundada do que as etapas de instalação):

    http://progit.org/book/ch4-0.html

    Além do controle de versão da O'Reilly com o Git - o capítulo Repositórios Remotos.

Em retrospecto, se eu soubesse quão demorado isso seria, eu poderia ter começado com o Mercurial enquanto leio a instalação no Windows é mais fácil, mas vou ter uma opinião sobre isso depois de trabalhar com o Git por um tempo e tentar o Mercurial .

Steve
fonte
Estou tendo problemas com a etapa do CopSSH. O link para o CopSSH não existe mais ... Sou direcionado para sourceforge.net/projects/sereds/files, onde só posso baixar o cwRsync_4.0.4_Installer.zip em vez do instalador do CopSSH. Alguma sugestão?
precisa saber é o seguinte
Este é o link que eu usei: itefix.no/i2/node/27 #
Steve Steve
1
Em novembro de 2011, o Copssh é uma solução comercial. A versão 3.0.3 é disponibilizada gratuitamente.
mateuscb
20

Não sei por que alguém não sugeriu http://gitblit.com . Solução baseada em java pura, permite protocolo HTTP e é realmente fácil de configurar.

Pritesh Patel
fonte
Obrigado pelo voto negativo. Você pode fornecer o motivo pelo qual votou negativamente neste comentário? Por favor, seja tarifa.
Pritesh Patel
Projeto fantástico, fez o meu dia, obrigado.
Anderson Fortaleza
16

Depois de seguir o guia de Tim Davis e o acompanhamento de Steve, eis o que eu fiz:

PC servidor

  1. Instale o CopSSH, msysgit.
  2. Ao criar o usuário CopSSH, desmarque a opção Autenticação de senha e marque Autenticação de chave pública para que suas chaves públicas / privadas funcionem.
  3. Crie chaves públicas / privadas usando o PuTTygen. coloque as duas chaves no diretório CopSSH / home / user / .ssh do usuário.
  4. Adicione o seguinte ao arquivo CopSSH / home / user / .bashrc do usuário:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Abra o Git Bash e crie um repositório em qualquer lugar do seu PC:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

PC cliente

  1. Instale o msysgit.
  2. Use a chave privada criada no servidor para clonar seu repositório de ssh: // usuário @ servidor: port / repopath / repo.git (por algum motivo, a raiz é a unidade C :)

Isso me permitiu clonar e confirmar com êxito, mas não pude enviar para o repositório simples no servidor. Eu ficava recebendo:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Isso me levou ao rastreamento e à solução de Rui, que foi criar ou adicionar as seguintes linhas ao .gitconfig no caminho % USERPROFILE% do seu PC Cliente (C: \ Users \ UserName).

[remote "origin"]
    receivepack = git receive-pack

Não sei por que isso é necessário ... se alguém pudesse fornecer informações, isso seria útil.

minha versão do git é 1.7.3.1.msysgit.0

timc
fonte
8

O GitStack deve atingir seu objetivo. Eu tenho uma configuração de assistente. É gratuito para 2 usuários e possui uma interface de usuário baseada na web. É baseado em msysgit.

poiuytrez
fonte
1
Preços no site do GitStack: grátis para até 5 usuários, US $ 299 / ano para 6 a 10 usuários, US $ 499 / ano para 11 a 25 usuários e assim por diante, até US $ 2999 / ano para 500 usuários.
Simon Tewsi
1
O GitStack agora é gratuito apenas para até 2 usuários.
M4N
Portanto, 1 usuário para quem está configurando o servidor, 1 usuário para o cliente que está visitando o servidor. Esse limite é muito rigoroso. Uma equipe de 2 desenvolvedores é muito pequena no mundo real.
ZhaoGang 12/12/16
7

Existe uma boa pilha Git de código aberto chamada Git Blit. Está disponível para diferentes plataformas e em diferentes pacotes. Você também pode implementá-lo facilmente no Tomcat existente ou em qualquer outro contêiner de servlet. Dê uma olhada no Setup git server no Windows em apenas alguns cliques, para obter mais detalhes, você levará cerca de 10 minutos para obter a configuração básica.

Ruslan Platonov
fonte
Funcionou como um encanto. Graças um milhão.
AndroidDev 28/03/2019
Bem-vindo, estou feliz por isso foi útil
Ruslan Platonov
Esta é uma boa escolha. fácil de usar para mim. Não testou um commit remoto do git, mas acho que funcionará. BTW, o link não está mais disponível.
ZhaoGang
O link não existe mais.
Shihe Zhang
3

Você não precisa de SSH para compartilhar o git. Se você estiver em uma LAN ou VPN, poderá exportar um projeto git como uma pasta compartilhada e montá-lo em uma máquina remota. Em seguida, configure o repositório remoto usando URLs "file: //" em vez de URLs "git @". Leva 30 segundos. Feito!

Jon Watte
fonte
2

Simplesmente pode não haver tal guia. Nesse caso, você pode não ter muita sorte em convencer alguém a escrever um, porque seria muito trabalhoso.

Eu recomendaria duas coisas. O mais fácil é seguir o guia que você tem de maneira servil, o que significa esquecer o msysgit.

O mais difícil é instalar um servidor Linux - talvez como convidado no Windows usando o VirtualBox (gratuito) ou o VMWare ou o Parallels (pago) e siga um dos muitos conjuntos de instruções que o Google o levará. Mas você provavelmente achará que essas instruções são insuficientes - elas geralmente assumem que você já configurou um servidor ssh, por exemplo, para que você tenha essas informações em outro lugar. Eu fiz isso duas vezes e posso dizer que, a menos que você já seja um guru do Linux, será uma luta.

Bob Murphy
fonte
1

Fiz o que Bob Murphy sugeriu ser a opção "difícil".

Instalei o Ubuntu no VMWare Server (gratuito) no trabalho e segui este guia sobre como configurar o Gitosis. Achei muito mais fácil do que tentar fazê-lo funcionar no Windows. Uma vez configurado, você realmente não precisa tocá-lo porque a administração do Gitosis pode ser feita no Windows pressionando versões atualizadas do arquivo gitosis.conf. Qualquer trabalho que eu precise fazer diretamente no servidor é feito via PuTTY, para que eu não precise usar a horrível interface do servidor VMWare.

Recentemente, estive mexendo com o VirtualBox em casa e achei muito mais agradável / mais fácil trabalhar com o VMWare Server, por isso pode valer a pena examinar isso.

Jacob Stanley
fonte
1

Eu só queria adicionar minhas experiências com a configuração PATH mencionada por Steve e timc acima: Eu tive problemas de permissão usando ferramentas de shell (como mv e cp ), tendo os executáveis ​​de shell do Git primeiro no caminho.

Anexá-los após o PATH existente, isso resolveu meus problemas. Exemplo:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Eu acho que o CopSSH não combina bem com todos os executáveis ​​de shell do msysgit ...

kjellander
fonte
0

Estou usando o GitWebAccess para muitos projetos há meio ano e é comprovadamente o melhor do que tentei. Parece, no entanto, que ultimamente as fontes não são suportadas, portanto - não pegue os binários / fontes mais recentes. Atualmente eles estão quebrados :(

Você pode criar a partir desta versão ou fazer o download de binários compilados que uso aqui .

Ivan Danilov
fonte