7
respostas

Controle de versão com GIT - Visual Studio

Oi! Eu estou fazendo controle das versões com o GIT pra ir me acostumando com o mesmo e criando meus repositórios no Git-Hub. Sendo assim, agora que mudei todo o projeto para o Visual Studio surgiram vários arquivos na pasta, quais deles tenho que sincronizar no git e quais posso ignorar?

Obrigada! Anna

7 respostas

Eu utilizo essas vc pode verificar se atende, nenhum arquivo de configuração precisa ser versionado pelo git, então pode tirar os que surgiram:

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
.history/

Obrigada pela resposta! Mas me refiro ao VS (roxo) não ao VSCode (azul)... aqui tenho os seguintes arquivos:

Pasta Debug

JogoForca.vcxproj.filters

JogoForca.vcxproj

JogoForca.vcxproj.user

Posso ignorar todos esses? Ou seja, tudo que não for .cpp e .hpp (e .txt)?

Obrigada!

Anna, é de praxe manter os arquivos da IDE versionados visto que em uma equipe profissional, normalmente todos usam a mesma IDE. Desta forma as configurações do projeto são compartilhadas com todos. :-)

Já as pastas que contém executáveis podem ser adicionadas ao .gitignore.

Com todo respeito, discordo em partes do instrutor. O ideal seria todos terem o mesmo ambiente mas dificilmente no dia a dia vi projetos em que todos usavam a mesma IDE. Ainda se for a mesma IDE pode ter diferenças de versões e sistemas operacionais, arquivos temporários, arquivos buildados, relatório de testes, logs, etc. Também dependendo da IDE configurações de projeto e de usuário ficam juntas sobrescrevendo configurações pessoais, é necessário ignorar alguns arquivos específicos daí. Projeto em repositórios públicos tb obviamente cada um que fizer o download poderá usar uma totalmente diferente.

Mas dito isso não acho problemático ter ou não ter esse versionamento a não ser por pequenos incômodos que pode causar. O que já vi tb é versionar um arquivo de configurações exportado da IDE em uma pasta à parte.

Sobre esse VS não conheço, mas não sei se é uma boa ideia ignorar tudo que não for de determinado tipo pois pode no futuro ignorar algo que vc não tinha pensado. Caso queria ignorar msm procure na internet q tem vários exemplos de gitignore.

Essa página te da exemplos de gitignores: https://www.toptal.com/developers/gitignore

Projetos C++ são muito comumente projetos críticos que dependem do ambiente exato para o sucesso. Uma equipe da EA, por exemplo, usa sempre o mesmo compilador na mesma IDE no mesmo SO.

Em sistemas menos críticos ou sistemas Web esses detalhes são mais flexíveis, mas se estamos falando de C++, a realidade é outra, via de regra.

:-D

Ah sim, valeu pela info. Me passou despercebido a questão de ser C++. Realmente não conheço essa realidade de sistemas críticos/real time, estou mais acostumado com projetos backend Java e Web.

Certo, obrigada a todos pelo debate! XD

Então em conclusão a pasta debug eu ignoro e os demais arquivos eu mantenho no controle?

Estou usando um arquivo de um site que foi disponibilizado no próprio curso de git do alura (se não me engano): https://github.com/github/gitignore e adicionando outras extensões conforme necessário.

Abs!