Usando o Git no ambiente corporativo [fechado]

24

Git é um excelente sistema de controle de versão. Se excluirmos o fato de que ele não possui um excelente suporte à GUI, é muito bom e rápido. Mas os controles de origem como o Clearcase têm grande suporte para clientes corporativos. As empresas estão investindo uma quantia enorme em servidores de controle de origem e licesense.

Ultimamente, a maioria das grandes empresas como o Google está adotando o Git em detrimento de outro sistema de controle de versão. Mas essa empresa possui um forte grupo de código aberto, que fornece consistentemente desenvolvimento e suporte para a ferramenta (eles podem até ter uma versão personalizada do Git). Ao mesmo tempo, grandes empresas não estão realmente se preocupando em adotar projetos de código aberto e torná-los relevantes para eles.

  • O Git é realmente uma ferramenta confiável para o ambiente corporativo, especialmente na plataforma Windows?
  • O suporte está em questão para o Git, pois é um produto de código aberto.
  • Existe alguma empresa que fornece soluções e suporte? Como os custos do servidor são comparados a outros controles de versão como Clear-case?
sarat
fonte
2
Não sei que o Google adotou o git, meu entendimento é que eles optaram pelo Mercurial. E você terá que me convencer sobre outras grandes empresas também - você tem algum exemplo?
Benjol 29/07
4
Possui ótimo suporte a GUI. Basta escolher um bom sistema operacional.
2
@ Benjol - Este tópico pode lhe dar algumas idéias. Quora.com/…
sarat
11
@ Sarat, eu sei que o Twitter vale muito dinheiro, mas eu não classificaria como grande ou corporativo. // Eu não sabia que o code.google.comgit suportado é uma notícia muito nova e não tenho certeza de que você poderia chamar isso de adoção do git sobre outros controles de versão. [Originalmente] ( code.google.com/p/support/wiki/DVCSAnalysis) , eles claramente decidido para Mercurial sobre git
Benjol
@ Benjol Em geral, não sei dizer, mas o repositório público de goiabas acabou de mudar para o git .
Maaartinus 17/08/11

Respostas:

37

O GitHub NÃO é um controle de versão - ele "hospeda" o sistema de controle de versão chamado "Git". Além do trocadilho, essa é uma diferença muito importante - conheça bem.

Em relação ao uso corporativo, posso dizer que o git é tão inteligente (e conveniente e melhor) quanto algo como o SVN. E você pode escolher uma estratégia de controle de versão adequada (fluxo de trabalho) com base no tamanho e escopo do projeto (e sua equipe). Sistemas não distribuídos não podem oferecer essa flexibilidade.

insira a descrição da imagem aqui

Para Windows, confira Msysgit ou Visual Studio Extensions para Git - git funciona muito bem no Windows. Além disso, os usuários do Windows analisam esta série de treinamentos do TekPub - é tudo Windows.

UPDATE [fev 2013] introdução ao git no visual studio

Sua pergunta não é incomum, e você pode pesquisar no Google e obter um monte de texto explicando por que e como (e se) usar o git na empresa.

Ainda não gosta de Git? Veja outro DVCS chamado Mercurial .

codificador de árvore
fonte
12
Msysgit não é um verdadeiro cidadão do Windows. Funciona muito bem, mas dificilmente é 100% nativo.
Yann Ramin
+1 para apontar alguns aspectos importantes sobre o Git. Embora o @greengit tenha apontado opções possíveis para o uso do Git no Windows, ele está longe de ser tão integrado quanto, por exemplo, o SVN.
31511 tehnyit
Usamos o Eclipse, que obteve um bom suporte ao git.
11
Acho que a gitolita (ou similar) merece uma menção aqui. Muitas pessoas de segurança, como a local, fecharam e controlaram a opção de hospedar o repositório localmente.
Nic
2
@YannRamin: Msysgit é definitivamente um verdadeiro cidadão do Windows e é 100% nativo. Ele vem com um shell unix que usa convenções ligeiramente diferentes, mas esse é o shell, não o git. Você pode usar o Msysgit do cmd.exe ou qualquer outro processo do Windows, como qualquer outro aplicativo nativo. (Cygwin é diferente, mas Msys não é cygwin)
Jan Hudec
16

+1 Mercurial.

O Mercurial é legal, fácil, tem muitas GUIs amigáveis ​​e se sente mais profissional. Eu nunca entendi por que o Git tinha tanto hype, enquanto outros grandes estão na sombra. O Mercurial também é suportado pelo código do google, bitbucket.org (o equivalente ao github), eclipse ... Eu o uso há dois anos e sempre fui feliz com ele.

Editar fevereiro de 2014:

Enquanto isso, o Git assumiu tal liderança que eu o aconselharia sobre o mercurial. Três anos atrás, o Mercurial estava IMHO mais polido, limpo e melhor. No entanto, o hype estava do lado de Git e o momento que ganhou desde então o torna claramente o vencedor. Agora é o padrão de fato por causa de sua enorme comunidade.

dagnelies
fonte
Git é muito mais poderoso em termos de como você pode manipular a história. Muitas pessoas optam por mesclar ramificações localmente e depois transformá-las em uma única ramificação da linha principal antes de passar para o repositório principal / público; Dessa forma, a história de longo prazo permanece muito limpa. Tanto quanto pude dizer da última vez que usei o HG, o Mercurial não suporta esses tipos de edições do histórico. Em geral, o git no Windows é péssimo; As melhores ferramentas de GUI (git-cola, gitk) para usá-lo só podem ser encontradas no Linux.
quer
11
Eu dificilmente diria que o Git foi bem-sucedido devido ao hype: da última vez que verifiquei, o formato de back-end do Mercurial era baseado em delta e propenso a corrupção como SVN ou CVS. O modelo fundamental do Git, enquanto isso, é principalmente somente de gravação com alterações atômicas. É apenas uma solução muito mais tecnicamente sólida.
Stuart P. Bentley
@ StuartP.Bentley: o que você quer dizer com corrupções?
Dagnelies 28/02
De repente, parando um processo no meio de copiar, mover, gravar, no disco ou na rede: no Git, isso só criará objetos que são imediatamente reconhecíveis como lixo (já que o conteúdo não corresponde ao hash), e mesmo se você Se você perder algo no meio, poderá verificar o que conseguiu e juntar as coisas a partir daí.
Stuart P. Bentley
Enquanto isso, os formatos baseados em delta que mantêm todas as informações sobre alterações em um único arquivo, como o Mercurial, podem sofrer acidentes leves (descartar uma linha que descreve uma alteração, por exemplo) que quebram o arquivo de tal maneira que, como Humpty Dumpty , é impossível reunir novamente.
Stuart P. Bentley
8

Eu sei que https://github.com/ fornece algum suporte com relação a repositórios privados para empresas

Especificamente, eles fornecem um serviço chamado firewall install http://fi.github.com/ Eles alegam fornecer suporte, mas não têm detalhes publicados on-line e eu nunca os usei.

Os custos são de 5000 $ por 20 pessoas por ano.

c00w
fonte
-1 não responde à pergunta de todos
MattyD 29/07
13
Ele pediu empresas que fornecem soluções e suporte. O Github possui uma solução específica de hospedagem corporativa para empresas. Não responde à primeira pergunta. Isso meio que responde à segunda pergunta. Responde à terceira pergunta.
C00w
Uau, quando o preço do FI mudou? Última vez que verifiquei, era algo como 200-250 $ / mês e agora é o dobro oO
wildpeaks
8

Eu uso o Git e o Mercurial no Windows, e ambos são mais do que utilizáveis. Acho que as ferramentas da GUI para o Mercurial são melhores; portanto, se sua equipe está acostumada a ferramentas visuais, pode ser um ajuste melhor. Eu costumo usar a linha de comando - para mim, isso faz mais sentido.

Ambos, na minha experiência, são à prova de balas. Você não precisa de 'suporte' como tal, embora eu conheça muitas empresas que o desejam.

Tenho certeza de que existem outros, mas vale a pena dar uma olhada no Kiln , que é uma solução mercurial hospedada.

Observe que, independentemente do caminho a seguir, o DVCS é bem diferente dos VCS tradicionais. IMHO, eles são superiores em quase todos os aspectos, mas pode levar algum tempo para se acostumar.

Ben Hughes
fonte
2
pode levar algum tempo para se acostumar. // Lembro o quanto odiei o Git durante aqueles longos dois dias de adaptação do SVN.
C69
6

O git é estrangeiro para desenvolvedores do Windows. Não é um verdadeiro cidadão de primeira classe. Funciona bem, mas é uma ferramenta Linux em primeiro lugar. Por exemplo, o modelo de servidor do git praticamente requer logins SSH para segurança.

O suporte é uma pergunta e existem empresas que podem fornecer, geralmente acompanhadas de uma solução hospedada.

Sabe-se que o Git não requer servidores enormes - já que os repositórios aumentam a capacidade e a velocidade são sempre importantes, mas como a maioria das operações acontece apenas no seu computador, os requisitos do servidor são uma ordem de magnitude inferior a algo como o Clearcase.

Pelo que vale, nossa empresa que não é uma empresa de menos de 100 é um grande usuário do git, no Windows, com projetos Java e C.

Yann Ramin
fonte
11
Embora tenha sido muito difícil mexer na documentação, consegui que o GIT funcionasse muito bem com a autenticação HTTP Basic sobre SSL suportada por um servidor LDAP.
DoubleMalt 29/07
11
Cuidado com espaços em branco / finais de linha se você planeja portar alguma coisa para o Linux. Pode ficar feio se você não estiver vigilante desde o início.
quer
Agora o Git está incorporado no VS 2013 e acima. MS tornou um cidadão de primeira classe.
Argila Smith
5

O Git é muito diferente do Clearcase; portanto, o desafio para você provavelmente será como migrar suavemente seus desenvolvedores (e outros usuários) para uma maneira diferente de trabalhar com código-fonte e arquivos. Dependendo da experiência dos usuários e da profundidade da integração do Clearcase em sua empresa, isso pode exigir muito treinamento e desaprendizagem.

Minha sugestão inicialmente é que você experimente o git em um projeto piloto e veja como ele funciona para sua equipe. Obtenha um repositório seguro no github e você está pronto para o piloto.

Martin Wickman
fonte
5
  • O Git é realmente uma ferramenta confiável para o ambiente corporativo, especialmente para a Plataforma Windows?

Em breve estaremos em um forte sim com este. Atlassian recentemente deu grandes passos no sentido de conseguir isso com o lançamento do Stash 1.3 .

  • O suporte é uma pergunta para o Git, pois é um controle de versão de código aberto.

Existe uma forte rede de suporte de usuários experientes do Git, oferecendo aconselhamento gratuito e vários grupos do LinkedIn (Git Version Control System). Uma pesquisa rápida no Google geralmente pode ajudar com a maioria dos requisitos. Para empresas maiores, também existem opções comerciais de suporte a Git agora disponíveis no mercado hoje.

  • Alguma empresa existe para fornecer soluções e suporte? Como o servidor custa em comparação com outros controles de versão como Clear-case?

Agora, várias empresas oferecem suporte confiável e dedicado ao Git. Clearvision e #goGit para nomear um deles.

Joe
fonte
O link do Stash é quebrado um ano e meio depois. Eu o encontrei aqui: atlassian.com/software/stash
1

No local de trabalho da minha empresa, tenho trabalhado no apoio à integração de uma equipe no Mercurial (uma ferramenta semelhante ao git), em frente ao ClearCase.

Escolhemos a hg in party porque foi projetada em torno da imutabilidade, o que é importante para nossos objetivos de negócios. Além disso, como está escrito em Python, funciona muito bem no Windows. O Git tem uma reputação de ser molho de pimenta no Windows, e minha experiência refletiu isso. (Eu entendo que as ferramentas estão melhores agora, não uso mais o Windows o suficiente para verificar. :-)).

A experiência tem sido geralmente positiva, com a maioria de nossas desvantagens relacionadas a sub-repositórios e os estranhos indiretos a eles relacionados. Outra coisa é que o armazenamento de metadados não existe em hg; outras soluções precisam ser desenvolvidas para gerenciar isso.

Se eu recomendasse uma solução corporativa para o trabalho "pronto para uso" para desenvolvedores do Windows, eu recomendaria investigar o Kiln e o GitHub Firewall .

Eu sei que isso não responde diretamente à sua pergunta. Mas deixe-me colocar desta maneira: se você está acostumado ao ClearCase, espero que o git seja uma ordem de grandeza mais fácil de treinar, implementar e administrar.

Paul Nathan
fonte
1

Git e Mercurial podem ser usados ​​em ambientes corporativos. Até certo ponto. Algumas organizações têm requisitos adicionais atualmente não atendidos pelo git, como controle de acesso mais rigoroso, de modo que somente usuários específicos tenham acesso (de leitura) a arquivos específicos no repositório ou como interfaces de auditoria que o acesso pode ser rastreado. Alguns sistemas empresariais comerciais também têm uma integração mais profunda com o gerenciamento de sistemas de TI, como soluções de backup corporativas.

O Git também não é bom para garantir que o histórico seja mantido - por padrão, permite que empurrões forçados substituam o histórico completo do projeto.

Às vezes, grandes organizações enfrentam problemas de dimensionamento. Aqui está um caso do Facebook: http://comments.gmane.org/gmane.comp.version-control.git/189776 , enquanto alguns desses problemas são corrigíveis (ou seja, o Facebook corrigiu alguns problemas que eles tinham no mercurial: https: / Os sistemas de controle de versão comercial /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) têm um comportamento de dimensionamento diferente que pode (ou em outros ambientes pode não funcionar) funcionar melhor.

... e depois existe essa coisa de responsabilidade. Organizações maiores podem preferir ligar para um fornecedor externo quando houver problemas, em vez de usar seu tempo para depurar os problemas e contar com o suporte da comunidade. Especialmente se houver repositórios corrompidos com informações confidenciais.

Estes não são, de modo algum, problemas que o tornam inutilizável em "ambientes empresariais", mas, como sempre, softwares diferentes têm prós e contras diferentes, que devem ser avaliados caso a caso.

johannes
fonte