Gerenciar repositórios Git no Visual Studio
A janela Repositório Git fornece uma experiência Git em tela inteira que ajuda você a gerenciar seu repositório Git e manter-se atualizado com os projetos da sua equipe. Por exemplo, talvez seja necessário redefinir, reverter ou selecionar commits ou apenas limpar seu histórico de commits. A janela do Repositório Git também é um ótimo lugar para visualizar e gerenciar suas ramificações.
O controle de versão com o Visual Studio é fácil com o Git. Além disso, você pode trabalhar remotamente com o provedor Git de sua escolha, como o GitHub ou o Azure DevOps. Ou você pode trabalhar localmente sem nenhum provedor.
Abrir a janela do Repositório Git
Para abrir a janela do Repositório Git , escolha Exibir>Repositório Git (ou pressione Ctrl+0, Ctrl+R), ou pressione Ctrl+Q e, em Recursos, pesquise repositório Git .
Explicar um commit com o GitHub Copilot Chat
Com o Visual Studio 2022 versão 17.10 versão prévia 2 e posterior e as extensões do GitHub Copilot, você pode usar a IA para gerar uma descrição detalhada do commit que descreve as alterações nesse commit. Pressione o botão Explicar para solicitar que o GitHub Copilot crie uma descrição de commit. Para instalar o GitHub Copilot, consulte Instalar e gerenciar o GitHub Copilot no Visual Studio.
Alterar o último commit (emendar)
A atualização do último commit é chamada de emenda no Git e é um caso de uso comum. Às vezes, você só precisa atualizar sua mensagem de confirmação ou talvez precise incluir uma alteração de última hora.
Você pode alterar uma confirmação na linha de comando usando o seguinte comando:
git commit --amend
A janela do Repositório Git facilita a atualização da mensagem de confirmação mais recente. Abra os detalhes do commit do último commit clicando duas vezes nele e, em seguida, selecione a opção Editar ao lado da mensagem de commit.
Quando terminar de editar sua mensagem de confirmação, selecione Alterar.
Se você precisar incluir alterações de código no seu último commit, poderá fazer isso na janela Alterações do Git. Marque a caixa de seleção Emendar e confirme as alterações.
Para saber mais sobre como emendar, incluindo como alterar mensagens de confirmação diferentes da mais recente, consulte Git Tools – Reescrevendo o Histórico no site do Git.
Commits de mesclagem (squash)
Para mesclar uma série de confirmações, o Git fornece uma opção para reduzir as confirmações em uma única confirmação. Essa opção poderá ser útil se você fizer commits frequentes e acabar com uma longa lista de commits para limpeza antes de enviar por push para um repositório remoto.
Você pode usar a opção squash em dois commits na linha de comando usando o seguinte comando:
git rebase -i HEAD~2
Em seguida, atualize pick
para squash
, salve e atualize a mensagem de confirmação.
Para mesclar confirmações no Visual Studio, use a chave Ctrl para selecionar várias confirmações que você deseja mesclar. Em seguida, clique com o botão direito e selecione Fazer Squash de Commits. O Visual Studio combina automaticamente suas mensagens de confirmação, mas às vezes é melhor fornecer uma mensagem atualizada. Depois de examinar e atualizar sua mensagem de commit, selecione o botão Squash.
Para saber mais sobre como usar squash, confira Ferramentas do Git – Reescrevendo o Histórico no site do Git.
Mesclar e trocar base de branches
Se você estiver usando branches do Git para trabalhar em diferentes funcionalidades, em algum momento você precisará incluir atualizações introduzidas em outros branches. Isso pode acontecer enquanto você ainda está trabalhando no branch de recursos. Isso também pode acontecer quando você terminar de trabalhar no branch de recursos e precisar manter suas alterações adicionando-as a um branch diferente. No Git, você pode incluir essas atualizações mesclando ou rebasando branches.
Nota
As instruções a seguir usam New_Feature como exemplo de nome para um ramo de funcionalidade. Substitua pelo nome do seu próprio ramo.
Para mesclar o branch principal em seu branch de recursos na linha de comando, use os seguintes comandos:
git checkout New_Feature
git merge main
Para fazer o mesmo no Visual Studio, faça o check-out do branch de recursos clicando duas vezes nele na lista de branches. Em seguida, clique com o botão direito em main e selecione Mesclar "main" em "New_Feature".
Para trocar a base do branch principal em seu branch de recursos na linha de comando, use os seguintes comandos:
git checkout New_Feature
git rebase main
Para fazer o mesmo no Visual Studio, faça o check-out do branch de recursos clicando duas vezes nele na lista de branches. Em seguida, clique com o botão direito em main e selecione Trocar base de "New_Feature" para "main".
Para saber mais sobre mesclagem, rebasing e ramificação em geral, confira Ramificação do Git no site do Git.
Copiar commits (cherry-pick)
Copie commits de um branch para outro usando a opção cherry-pick. Ao contrário de uma mesclagem ou troca de base, cherry-picking traz apenas as alterações dos commits selecionados, em vez de todas as alterações em um branch. Cherry-picking é uma ótima maneira de enfrentar esses problemas comuns:
- Commit acidental no branch errado. Cherry-pick leva as alterações para o branch correto e redefine o branch original para o commit anterior.
- Efetuar pull de um conjunto de commits feitos em um branch de recursos, para mesclá-los de volta ao branch principal antecipadamente.
- Portabilidade em commits específicos do branch principal sem rebasing de branch.
Para copiar as alterações de um commit para o branch atual usando a linha de comando, use o seguinte comando:
git cherry-pick 7599e530
Para fazer o mesmo no Visual Studio, visualize o branch do qual você deseja selecionar um commit selecionando-o com um único clique. Em seguida, clique com o botão direito do mouse no commit de destino e selecione Cherry-Pick.
Quando a operação for concluída, o Visual Studio mostrará uma mensagem de êxito. O commit que você escolheu é exibido na seção Saída.
Para saber mais sobre cherry-picking de commits, confira a página da Web do Git para o comando cherry-pick.
Reverter as alterações
Use o comando revert para desfazer as alterações feitas em commits enviados por push para branches compartilhados. O comando reverter cria uma nova confirmação que desfaz as alterações feitas em uma confirmação anterior. O comando reverter não reescreve o histórico do repositório, o que torna seguro usar quando você estiver trabalhando com outras pessoas.
Para reverter as alterações feitas em uma confirmação usando a linha de comando, use os comandos a seguir. Substitua a ID de exemplo pela ID de um commit real em seu branch.
git revert 53333305
git commit
No exemplo anterior, os comandos desfazerão as alterações feitas no commit 53333305 e criarão uma nova confirmação no branch. A confirmação original ainda está no histórico do Git. Para fazer o mesmo no Visual Studio, clique com o botão direito no commit que você deseja reverter e selecione Revert. Após a confirmação da ação e conclusão da operação, o Visual Studio exibirá uma mensagem de êxito e um novo commit será exibido na seção Saída.
Selecione a nova confirmação para confirmar se ela desfaz as alterações da confirmação revertida.
O item de menu Reverter pode estar desabilitado (esmaecido) em determinadas circunstâncias, como para commits de mesclagem ou quando uma operação do Git está em execução.
Para saber mais sobre como reverter as alterações, consulte a página da Web do Git sobre o comando de reversão.
Redefinir um branch para um estado anterior
Use o comando reset para trazer um branch em seu repositório local de volta ao conteúdo de um commit anterior. Essa ação descarta todas as alterações que ocorreram desde o commit para o qual você está redefinindo seu branch.
Aviso
Não redefina branches compartilhados, pois você pode excluir o trabalho de outras pessoas. Em vez disso, use o comando reverter.
Para redefinir um branch para um estado anterior usando a linha de comando, use o comando a seguir. Substitua a ID de exemplo pela ID de um commit real em seu branch.
git reset --hard 53333305
A parte --hard
do comando instrui o Git a redefinir os arquivos para o estado da confirmação anterior e descartar quaisquer alterações preparadas. Para fazer o mesmo no Visual Studio, clique com o botão direito no commit para o qual você deseja redefinir o branch e selecione Redefinir>Excluir Alterações (--forçada).
Para saber mais sobre como redefinir branches, confira a página da Web do Git para o comando reset.