Como usuário de longa data do Visual SourceSafe (e odiador), eu estava discutindo a mudança para o SVN com um colega; ele sugeriu usar o Git . Como, aparentemente, ele pode ser usado como ponto a ponto sem um servidor central (somos uma equipe de 3 desenvolvedores).
Porém, não consegui encontrar nada sobre ferramentas que integram o Git ao Visual Studio - existe algo assim?
Quais são as tecnologias disponíveis para usar o Git com o Visual Studio? E o que preciso saber sobre como elas diferem antes de começar?
visual-studio
git
Caudill de ervas
fonte
fonte
Respostas:
Em janeiro de 2013, a Microsoft anunciou que estava adicionando suporte completo ao Git em todos os seus produtos ALM. Eles publicaram um plug-in para o Visual Studio 2012 que adiciona a integração de controle de origem do Git.
Como alternativa, existe um projeto chamado Git Extensions que inclui suplementos para o Visual Studio 2005, 2008, 2010 e 2012, além da integração do Windows Explorer. É atualizado regularmente e, tendo sido usado em alguns projetos, achei muito útil.
Outra opção é o Git Source Control Provider .
fonte
Eu uso o Git com o Visual Studio para minha porta de Buffers de Protocolo para C #. Não uso a GUI - apenas mantenho uma linha de comando aberta e o Visual Studio.
Na maioria das vezes, tudo bem - o único problema é quando você deseja renomear um arquivo. Ambos Git e Visual Studio preferiria que eles eram o único a renomeá-lo. Eu acho que renomear no Visual Studio é o caminho a seguir - apenas tome cuidado com o que você faz no lado do Git posteriormente. Embora isso tenha sido um pouco doloroso no passado, ouvi dizer que, na verdade, deve ser bastante transparente do lado do Git, porque pode-se notar que o conteúdo será basicamente o mesmo. (Normalmente não é o mesmo - você costuma renomear um arquivo ao renomear a classe IME.)
Mas basicamente - sim, funciona bem. Sou novato no Git, mas consigo fazer tudo o que preciso. Verifique se você possui um arquivo git ignore para bin e obj e * .user.
fonte
O Git Source Control Provider é um novo plug-in que integra o Git ao Visual Studio.
fonte
Analisei isso um pouco no trabalho (tanto no Subversion quanto no Git). O Visual Studio realmente possui uma API de integração de controle de origem para permitir a integração de soluções de controle de origem de terceiros no Visual Studio. No entanto, a maioria das pessoas não se incomoda com isso por alguns motivos.
A primeira é que a API pressupõe que você esteja usando um fluxo de trabalho de check-out bloqueado. Existem muitos ganchos que são caros de implementar ou simplesmente não fazem sentido quando você está usando o fluxo de trabalho de edição e mesclagem mais moderno.
A segunda (relacionada) é que, quando você está usando o fluxo de trabalho de edição e mesclagem que o Subversion e o Git incentivam, você realmente não precisa da integração do Visual Studio. A principal coisa sobre a integração do SourceSafe com o Visual Studio é que você (e o editor) pode dizer rapidamente quais arquivos você possui, quais devem ser retirados antes de poder editar e quais não podem, mesmo que desejem. Em seguida, ele pode ajudá-lo a fazer qualquer vodu de controle de revisão que você precisa fazer quando deseja editar um arquivo. Nada disso faz parte de um fluxo de trabalho típico do Git.
Quando você está usando o Git (ou SVN normalmente), todas as suas interações de controle de revisão ocorrem antes da sessão de desenvolvimento ou depois dela (depois que você tiver tudo funcionando e testado). Nesse ponto, não é realmente muito doloroso usar uma ferramenta diferente. Você não precisa constantemente mudar de um lado para o outro.
fonte
Acho que o Git, trabalhando em árvores inteiras, beneficia menos da integração do IDE do que as ferramentas de controle de origem que são baseadas em arquivos ou seguem um padrão de checkout-edição-confirmação. É claro que há casos em que pode ser bom clicar em um botão para fazer um exame de histórico, mas não sinto muita falta disso.
O real a fazer é deixar seu arquivo .gitignore cheio de coisas que não deveriam estar em um repositório compartilhado. As minas geralmente contêm (entre outras coisas) o seguinte:
mas isso é fortemente influenciado por C ++ com pouco ou nenhum uso de qualquer funcionalidade de estilo de assistente de classe.
Meu padrão de uso é algo como o seguinte.
Código, código, código no Visual Studio.
Quando estiver feliz (ponto intermediário sensato para confirmar o código, mude para o Git, altere as etapas e revise as diferenças. Se algo estiver obviamente errado, volte para o Visual Studio e corrija; caso contrário, confirme.
Qualquer fusão, ramificação, rebase ou outro material sofisticado do SCM é fácil de fazer no Git no prompt de comando. O Visual Studio normalmente fica bastante satisfeito com as coisas que estão mudando, embora às vezes seja necessário recarregar alguns projetos se você tiver alterado os arquivos do projeto significativamente.
Acho que a utilidade do Git supera qualquer pequeno inconveniente de não ter uma integração total do IDE, mas é, até certo ponto, uma questão de gosto.
fonte
git rm <file>
eecho <file> >>.gitignore; git add .gitignore
nas dicas dos seus ramos ativos. Depois de confirmar a alteração, sempre é possível escolher a correção em outros ramos.A Microsoft anunciou recentemente o Git for Visual studio 2012 (atualização 2). Ainda não brinquei com ele, mas este vídeo parece promissor.
Aqui está um tutorial rápido sobre como usar o Git no Visual Studio 2012.
fonte
Também não perca o TortoiseGit ... https://tortoisegit.org/
fonte
Há um Visual Studio Tools para Git da Microsoft. Porém, ele suporta apenas o Visual Studio 2012 (atualização 2).
fonte
O Visual Studio 2013 suporta nativamente o Git.
Veja o anúncio oficial .
fonte
O suporte ao Git da Microsoft no Visual Studio é bom o suficiente para o trabalho básico (confirmação / busca / mesclagem e envio). Meu conselho é apenas para evitá-lo ...
Eu prefiro GitExtensions (ou em menor proporção SourceTree ). Porque ver o DAG é para mim realmente importante entender como o Git funciona. E você está muito mais ciente do que os outros colaboradores do seu projeto fizeram!
No Visual Studio, você não pode ver rapidamente a diferença entre arquivos ou confirmação, nem (adicionar ao índice) e confirmar apenas parte das modificações. Navegue pela sua história também não é bom ... Tudo isso termina em uma experiência dolorosa!
E, por exemplo, o GitExtensions vem com plugins interessantes: busca em segundo plano, GitFlow, ... e agora, integração contínua !
Para os usuários do Visual Studio 2015 , o Git está tomando forma se você instalar a extensão GitHub. Mas uma ferramenta externa ainda é melhor ;-)
fonte
O TortoiseGit amadureceu e eu o recomendo especialmente se você tiver usado o TortoiseSVN.
fonte
A versão mais recente do Git Extensions agora suporta o Visual Studio 2010 (junto com o Visual Studio 2008 e o Visual Studio 2005 ).
Achei bastante fácil de usar com o Visual Studio 2008 e a interface parece a mesma no Visual Studio 2010.
fonte
A solução mais simples que realmente funciona muito bem é adicionar os comandos do TortoiseGit como ferramentas externas.
Solução para adicionar uma barra de ferramentas Git (TortoiseGit) ao Visual Studio
fonte
Conforme indicado por Jon Rimmer, você pode usar GitExtensions. O GitExtensions funciona no Visual Studio 2005 e no Visual Studio 2008, mas também no Visual Studio 2010 se você copiar e configurar manualmente o arquivo .Addin.
fonte
Atualmente, existem 2 opções para o Git Source Control no Visual Studio (2010 e 12):
Eu tentei os dois e achei o primeiro mais maduro e com mais recursos. Por exemplo, ele funciona bem com as extensões git e git da tartaruga e até expõe seus recursos.
Nota : Qualquer que seja a extensão usada, ative-a
Tools -> Options -> Source control -> Plugin Selection
para que ela funcione.fonte
A partir de 11-02-2013, o plug-in Microsoft Git para Visual Studio 2012 também funcionará com a versão Express .
fonte