DEV Community

ダニエリ for WoMakersCode

Posted on

18 3

[Tutorial Git] fork: Como colaborar com projetos de código aberto

Primeiro é preciso que você tenha uma conta em alguma plataforma de hospedagem de código-fonte que faça uso do Git. Nesse exemplo, usaremos o Github.

Vá até o repositório desejado e procure pelo botão Fork.

botão fork

Ele começará o processo

fazendo fork

E em seguida você será redirecionada para sua conta e poderá notar abaixo do nome do repositório, a origem desse

fork deu certo

Agora precisamos trazer o repositório para a nossa máquina.

No repositório, procure pelo botão clone or download.

clone or download

Copie o link e digite no terminal:

$ git clone link_do_repositorio
Enter fullscreen mode Exit fullscreen mode
  • $ indica que você deve usar o usuário comum para fazer essa operação.

No meu caso, será:

$ git clone git@github.com:danielle8farias/challenges-algorithms.git
Enter fullscreen mode Exit fullscreen mode

Recomenda-se (boas práticas) criar um branch para manter as suas alterações separadas

$ git checkout -b nome_do_novo_branch
Enter fullscreen mode Exit fullscreen mode

Agora você pode alterar o projeto sem qualquer dano ao repositório original.

Depois de feitas todas as alterações necessárias e commits, você provavelmente desejará enviá-las para o seu repositório remoto e para repositório original (já que a sua ideia é contribuir).

Primeiro precisamos verificar nosso repositório remoto

$ git remote -v
Enter fullscreen mode Exit fullscreen mode

Se ele retornar apenas seus repositório, desse modo:

origin  git@github.com:danielle8farias/challenges-algorithms.git (fetch)
origin  git@github.com:danielle8farias/challenges-algorithms.git (push)
Enter fullscreen mode Exit fullscreen mode

Então é preciso adicionar a ligação com o repositório original. Assim:

$ git remote add upstream url_do_repositorio_remoto_original
Enter fullscreen mode Exit fullscreen mode

No meu caso,

$ git remote add upstream git@github.com:WoMakersCode/challenges-algorithms.git
Enter fullscreen mode Exit fullscreen mode

Verificando novamente o repositório remoto

$ git remote -v
Enter fullscreen mode Exit fullscreen mode

temos o retorno algo parecido com

origin  git@github.com:danielle8farias/challenges-algorithms.git (fetch)
origin  git@github.com:danielle8farias/challenges-algorithms.git (push)
upstream    git@github.com:WoMakersCode/challenges-algorithms.git (fetch)
upstream    git@github.com:WoMakersCode/challenges-algorithms.git (push)
Enter fullscreen mode Exit fullscreen mode

Agora, antes de empurrar seu código, é uma boa prática ir até a página do repositório que você está colaborando e clicar na parte de issues para criar um tópico novo (new issue), descrevendo sobre a sua colaboração, quais problemas você pretende solucionar, etc. Ou indo em um tópico já criado para ajudar a solucioná-lo.

issues

Agora, empurre seu código para o seu fork através do comando

$ git push origin nome_do_branch
Enter fullscreen mode Exit fullscreen mode

Feito isso, vá até o seu repositório no Github e perceba que apareceu algo novo:

compare & pull request

Clique sobre ele e abrirá uma nova tela:

criando pull request

Escreva sua mensagem e clique em create pull request.

A mensagem de retorno será algo como

Sucesso

Caso deseje baixar as alterações de um repositório ao qual você fez o fork, clone ou contribuiu, digite:

$ git pull upstream master
Enter fullscreen mode Exit fullscreen mode

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay