Descrever inner source com forks

Concluído

As pessoas criam fork dos repositórios quando desejam alterar o código em um repositório ao qual não têm acesso de gravação.

Se você não tem acesso de gravação, você não faz parte da equipe que está contribuindo com esse repositório, então por que você modificaria o repositório do código?

Nossa tendência é sempre procurar motivos técnicos para aprimorar o trabalho.

Você pode encontrar uma forma melhor de implementar a solução ou aprimorar a funcionalidade contribuindo para um recurso existente ou melhorando-o.

Você pode criar fork de repositórios nas seguintes situações:

  • Quero fazer uma alteração.
  • Acho o projeto interessante e posso usá-lo.
  • Quero usar algum código desse repositório como um ponto de partida para o meu projeto.

As equipes de software são incentivadas a contribuir com todos os projetos internamente, não apenas em seus projetos de software.

Os forks são uma ótima maneira de promover uma cultura de código aberto interno.

Os forks são uma adição recente aos repositórios Git do Azure DevOps.

Esta receita ensinará você criar fork de um repositório existente e contribuir com alterações upstream por meio de uma solicitação de pull.

Preparando-se

Um fork começa com todo o conteúdo de seu repositório upstream (original).

Ao criar um fork no Azure DevOps, você pode incluir todos os branches ou limitá-los somente ao branch padrão.

Um fork não copia as permissões, as políticas nem as definições de build do repositório que está sendo bifurcado.

Depois que um fork tiver sido criado, os arquivos, as pastas e os branches recém-criados não serão compartilhados entre os repositórios, a menos que você inicie uma solicitação de pull.

As solicitações pull têm suporte em qualquer direção: do fork para upstream ou de upstream para o fork.

A abordagem mais comum de uma solicitação de pull será a do fork para upstream.

Como fazer

  1. Escolha o botão Criar fork (1) e, em seguida, selecione o projeto em que deseja que o fork seja criado (2). Dê um nome ao fork e escolha o botão de Fork (3).

  2. Quando o fork estiver pronto, clone-o usando a linha de comando ou um IDE, como o Visual Studio. O fork será sua origem remota. Para sua conveniência, é interessante adicionar o repositório upstream (o local do qual você criou o fork) como um repositório remoto chamado upstream. Na linha de comando, digite:

    git remote add upstream {upstream_url}
    
  3. É possível trabalhar diretamente no fork principal, pois ele é a cópia do repositório. No entanto, é recomendável que você continue trabalhando em um branch de tópico. Ele permite que você mantenha vários fluxos de trabalho independentes simultaneamente. Além disso, ele reduz a confusão posteriormente quando você quiser sincronizar as alterações em seu fork. Altere e faça commit das alterações como faria normalmente. Ao concluir as modificações, envie-as por push à origem (o fork).

  4. Abra uma solicitação de pull em seu fork para o upstream. O repositório upstream aplicará todas as políticas necessárias para revisores e builds. Depois que todas as políticas forem satisfeitas, a PR poderá ser concluída e as alterações se tornarão uma parte permanente do repositório upstream:
    Diagrama mostrando Criar um pull request.

  5. Quando a PR é aceita upstream, o fork precisa refletir o estado mais recente do repositório. É recomendável basear novamente na branch principal do upstream (supondo que ele seja o principal branch de desenvolvimento). Na linha de comando, execute:

    git fetch upstream main
    git rebase upstream/main
    git push origin
    

Para obter mais informações sobre o Git, confira: