Iniciando o uso do Git no Visual Studio
Banco de Dados
Ao utilizar o modelo de desenvolvimento orientado ao GitFlow, recomenda-se que a utilização do banco de dados local em sua estação de trabalho. Pois como cada desenvolvedor estará trabalhando em uma feature diferente e, consequentemente, um branch próprio para esta feature, as alterações realizadas no banco de dados não serão conhecidas de toda a equipe até que seja realizado um merge de todas as alterações no branch develop. Para isto, todas as alterações realizadas no banco de dados local devem possuir o seu respectivo script no repositório do projeto, para que ao realizar o merge das features seja possível unir todas as alterações realizadas no banco de dados e alterar o banco de desenvolvimento para testar a nova versão do sistema com todas as suas features.
Visual Studio
Ao abrir o Visual Studio e acessar um branch (seja ele o develop, master, ou qualquer outro) ele poderá checar alguns arquivos (como DLLs), e ao efetuar a mudança de branch uma mensagem de erro será exibida, alertando que você possui arquivos checados para fazer commit ou undo e, consequentemente, a mudança não é realizada. Para prosseguir com a mudança de branch é necessário verificar o que aconteceu com os arquivos que foram alterados pelo Visual Studio e, caso não tenha necessidade, descartar as alterações e confirmar, somente após isso será possível alterar de branch.
No Visual Studio, quando uma feature é criada através da própria interface e finalizada da mesma forma observa-se que o fluxo do GitFlow não é "desenhado" da forma correta no GitKraken ou SourceTree, dando a ideia que o desenvolvimento foi feito diretamente no branch de develop. Por isso, recomenda-se a utilização do GitKraken, SourceTree ou GitBash para a criação dos branches.
Suponha que você esteja trabalhando em um dado branch e tenha criado um arquivo novo neste local. Por ventura, você muda de branch e percebe que o arquivo alterado "foi junto" para o branch atual. O que ocorre é que como o arquivo não foi mapeado no Git (através de um commit) é como se fosse um arquivo comum do sistema operacional e, mesmo mudando os branchs o arquivo irá permanecer isolado na pasta. O mesmo ocorre para arquivos alterados e mapeados pelo Git, porém, neste caso, o arquivo irá aparecer porque o Git está movendo ele para o branch atual de trabalho para evitar a perda do arquivo. Em ambos os casos, existem três formas de se resolver:
- Quero salvar o novo arquivo: deve-se ir no branch ao qual o arquivo pertence, adiciona-lo e efetuar o commit.
- Quero salvar as alterações: deve-se ir no branch ao qual o arquivo pertence e efetuar o commit.
- Quero descartar as alterações: para novos arquivos basta deletar o arquivo na pasta e para arquivos mapeados executar o comando revert.