« Voltar
em git github open source

Forkando e clonando um repositório do Github.

(esse post parece longo, não se assuste...é que ele tem várias imagens :P)

No post anterior mostrei como instalar o Git e configurar o Github na sua máquina.
Agora vamos começar a fazer coisas de verdade!

Se gostar desse post, não deixe de me seguir no Twitter :)

Forkando um repositório

Forkando?! Que p!@#$! é essa?

Vamos por partes!
Pra essa explicação usaremos como exemplo o repositório CoreFX. Nesse post eu expliquei o que tem nesse repositório, pra que ele serve e tudo mais.

Vamos acessar ele através desse link. Você vai ver mais ou menos isso:

Esse repositório é onde o pessoal da Microsoft e a comunidade desenvolvem esse projeto em aberto. Você pode ver todas as alterações que eles fizeram, estão fazendo e as tarefas que pretendem fazer.
E pode também baixar uma cópia do projeto pra você.

Bora fazer isso!

Tá vendo esses 2 botões do lado direito superior da sua tela?
Watch serve pra você "observar" o repositório. Isso significa que você receberá notificações sobre alterações nesse projeto em seu "feed" do Github:

O feed no caso é essa parte que tá em vermelho.

Star serve pra você tipo guardar o projeto nos seus favoritos.

Fork serve pra...forkar! O mais próximo em português acho que seria garfar, mas não é exatamente esse o sentido hahahahah. Bom...de certo modo sim, porque ao clicar no botão você estará pegando uma versão do projeto pra você. Vamos lá, clique em fork!

Talvez uma tela como essa apareça pra você:

Drawing

Se aparecer, simplesmente selecione o seu nome de usuário.

No fim das contas, parecerá que você continua na mesma tela depois de clicar em fork. Mas pera...dá uma olhada no endereço do navegador.
Antes estava https://github.com/dotnet/corefx e agora está https://github.com/seuusuario/corefx

Percebeu o que aconteceu?
O Github pegou o projeto CoreFX, copiou ele, criou um repositório seu e copiou o projeto lá. Legal né?

Só tem um problema: o repositório está no Github, não na sua máquina.
Como vamos baixar pra sua máquina? Com o Git, é claro!
Toda aquela fuleragem que a gente fez no outro post pra configurar o Git com Github finalmente vai ser útil.

Clonando um repositório

Então vamos lá, abra o Git Bash e crie uma pasta chamada Github onde salvaremos nossos projetos baixados de lá.
Pra criar a pasta, digite o comando:

mkdir Github  

E dê Enter.

Depois disso, para entrar na pasta que acabamos de criar, digite:

cd Github  

E dê Enter.

Agora, vamos copiar nosso repositório do Github para um repositório em nossa máquina. Esse processo também é conhecido como clonar um repositório.
Vá até o seu repositório no Github e clique no botão circulado na imagem:

Ao clicar nesse botão, você copiou a URL para clonar o repositório.

Agora, vá até o Git Bash e digite(mas não dê enter ainda!):

git clone  

Dê um espaço depois do clone e cole a URL que acabamos de copiar. Pra colar no Git Bash, ao invés de ctrl+v é só apertar a tecla Insert.

O comando deve ficar assim:

git clone git@github.com:seuusuario/corefx.git  

Pode demorar um pouquinho, mas ao final você verá algo assim:

$ git clone git@github.com:gabsferreira/corefx.git
Cloning into 'corefx'...  
remote: Counting objects: 29117, done.  
remote: Total 29117 (delta 0), reused 0 (delta 0), pack-reused 29117  
Receiving objects: 100% (29117/29117), 18.47 MiB | 4.85 MiB/s, done.  
Resolving deltas: 100% (17421/17421), done.  
Checking connectivity... done.  
Checking out files: 100% (4830/4830), done.  

Pronto!

Agora abra seu File Explorer e vá até a pasta onde clonamos o projeto. Provavelmente vai ser a pasta do seu usuário no Windows(a que abre quando você abre o File Explorer mesmo) e lá dentro terá uma pasta chamada Github. Dentro dela, você terá uma pasta CoreFX.

O código das bibliotecas está dentro da pasta src e dentro de src, está organizado por namespaces:
Dentro de cada uma dessas pastas, você terá um arquivo com a extensão sln, que é a extensão pra Solutions do Visual Studio. É só ir abrindo as Solutions que o projeto delas abrirá no seu Visual Studio.

Temos nesse projeto classes de namespaces importantes como System.IO, System.Threading e System.Collections.
Se você abrir o projeto de System.Collections por exemplo, conseguirá ver a implementação das classes LinkedList, HashSet, SortedDictionary, Queue, entre outras:
Drawing
Você pode ler o código, entender como funciona por dentro e até modificar se quiser.

Legal, né?

O processo que vimos aqui de fork e clone é exatamente o mesmo pra qualquer outro repositório, seja ele um repositório feito em C#, Javascript ou Python(ou qualquer outra linguagem).

No próximo post pretendo explicar como alterar o código e enviar ele para o seu repositório no Github.

E aí, ficou alguma dúvida? Algo tá confuso? Alguma sugestão?
Comenta aí! (:


Gostou desse post?
Confira outros que acho que também vai gostar:
Calma: fazer as coisas bem leva tempo
Quer ficar bom em algo? Faça uma coisa de cada vez
Se acha muito velho pra aprender a programar? Pense de novo
Cuidado com ofertas de trabalho que focam no que não é importante
4 dicas para ser chamado para entrevistas
7 podcasts de programação e tecnologia que você tem que ouvir
Já se sentiu um impostor? Eu também
O guia do programador iniciante: como ter um portfólio nunca tendo trabalhado com programação

Quer ficar em dia com os meus posts e novidades? Se inscreva na minha newsletter, me segue no Twitter e na minha página!

comments powered by Disqus