Git Bash: abrir a solução com o Visual Studio

Muitas vezes temos a nossa barra de tarefas lotada de atalhos, quanto que com alguns comando, sem sair da janela do Git Bash, podemos atualizar e abrir o projeto direto no Visual Studio.

Estes passos não exigem a criação de nenhum script específico, apenas comandos do próprio Git e Prompt do Windows. O roteiro a seguir tem no máximo 7 passos, que podem ser reduzidos com scripts, mas aqui você começa em uma branch desatualizada e termina dentro do Visual Studio, já pronto para trabalhar, sem nenhum clique a mais. Então vamos lá:

Criar uma nova branch a partir da master e abrir no Visual Studio

  1. Abra o Git Bash,
  2. Digite o comando que abre a pasta da solução,
  3. Atualize a master,
  4. Crie uma nova branch a partir da master,
  5. Digite cmd,
  6. Digite o nome da solução com a extensão e aguarde o Visual Studio carregar,
  7. Digite exit para sair do prompt do Windows e voltar ao Git Bash.

Segue um exemplo de comandos seguindo estes passos:

Atualizar uma branch existente e abrir no Visual Studio

  1. Abra o Git Bash,
  2. Digite o comando que abre a pasta da solução,
  3. Atualize a branch,
  4. Digite cmd que vai entra no modo prompt do Windows,
  5. Digite o nome da solução com a extensão e aguarde o Visual Studio carregar,
  6. Digite exit para sair do prompt do Windows e voltar ao Git Bash.

Dica

  • É possível configurar o atalho do Git Bash para abrir já na pasta dos projetos mais usados.

 

Git: publicando em dois ou mais servidores de repositórios diferentes

Introdução

Quando pensamos em criar um projeto open-source, é preciso pensar na estratégia de publicação, e muitas vezes não queremos trabalhar direto no GitHub ou outro servidor de repositórios aberto durante algumas etapas de desenvolvimento. Pra isso é possível adotar um forma de publicar em dois locais o mesmo código, com os mesmos commits. Neste exemplo vou abordar uma projeto que nasceria no Git privado, dentro de um servidor de TFS da Microsoft e depois seria publicado em um diretório público do GitHub. Vou mostrar duas maneiras de fazer esta publicação dupla, uma onde os commits são simultâneos e outra onde trabalho em um repositório privado e depois envio o código para o espaço compartilhado.

Publicação simultânea

Crie dois repositórios em servidores diferentes, no caso, eu criei um repositório no TFS e outro no GitHub.

  • GitTFSProject
  • GitHubProject

Abra o GitBash e clone um dos repositórios.

Faça uma alteração no diretório, como incluir um arquivo de texto. Execute o comando:

E agora execute um commit com a devida mensagem:

Adicione a configuração de push para o diretório original:

Em seguida a configuração para o outro servidor:

Execute finalmente o push:

Se quiser ver todos os repositórios que estão configurados, execute:

Referência: https://stackoverflow.com/questions/14290113/git-pushing-code-to-two-remotes

Commits em tempos diferentes

Crie dois repositórios em servidores diferentes, no caso, eu criei um repositório no TFS e outro no GitHub.

  • GitTFSProject
  • GitHubProject

Abra o GitBash e clone um dos repositórios.

Abra o diretório pelo GitBash:

Neste caso, você pode criar uma branch a partir da master, executando o comando:

Faça uma alteração no diretório, como incluir um arquivo de texto. Execute o comando:

E agora execute um commit com a devida mensagem:

Faça mais algumas alterações, para que tenha ao menos 3 commits.

Execute o push e publique a branch.

Agora temos 3 commits com push no TFS.

Vamos alterar o servidor de repositórios para o GitHub e enviar pra lá estes commits.

Agora precisamos executar novamente o processo de publicação da branch e envio dos commits, com o comando:

Então, temos a mesma branch com os mesmos commits no GitHub!

Agora, retorne a configuração de push para a URL original:

Referência: https://git-scm.com/docs/git-remote

Conclusão

Assim é possível criar uma estratégia de publicação de códigos, sem precisar lançar em todos os diretórios ao mesmo tempo.