DEV Community

Amanda
Amanda

Posted on

Introdução ao Git e GitHub — Parte II

No primeiro post desta série, você aprendeu a enviar os arquivos do seu repositório local para um repositório remoto. Mas e se você quiser modificar um arquivo que está em um repositório remoto que você ainda não possui em sua máquina?

Git Clone

O git permite que façamos um clone de um repositório remoto. Ao fazer um clone, estamos criando uma cópia local que nos permite trabalhar no código sem afetar diretamente o repositório original, até que as alterações sejam enviadas ao repositório por meio do comando git push.

Quando queremos criar uma cópia local de um repositório que é nosso, podemos utilizar simplesmente o comando git clone . Mas às vezes queremos utilizar um repositório disponibilizado publicamente no GitHub, e não podemos deixar que as nossas alterações afetem o código original. Nesse caso, podemos também fazer um “fork”.

Usando Fork

Um “fork” é uma cópia independente de um repositório remoto. Quando você faz um fork de um repositório, você está criando uma cópia separada desse repositório em sua própria conta no GitHub.

Ele é muito utilizado quando queremos experimentar modificações sem interferir diretamente no repositório original.

Acesse a página do Github onde está o repositório que você deseja clonar e clique em “Fork”. Neste exemplo, estamos utilizando este repositório da Alura:

Image description

Irá aparecer uma página onde você tem a opção de personalizar o seu fork, alterando o título e descrição, assim como a opção de clonar apenas a branch master ou as outras branches do projeto também. Clique em “Create fork” para confirmar a criação do fork:

Image description

Observe que abaixo do nome do repositório aparece a mensagem “forked from …” . A partir de agora é como se o repositório fosse seu. Todas as alterações que você fizer serão refletidas somente no seu fork.

Clonando o repositório remoto

Para clonar o repositório em sua máquina local e poder alterar o projeto, você precisa do link para o repositório. Para isso, na página do seu repositório remoto, clique em “Code” e copie a url:

Image description

Na sua máquina, vá até o local onde você deseja que o repositório seja salvo, e abra o Git Bash:

Image description

Você também pode abrir o Git Bash e navegar até o diretório desejado usando o comando cd .

Insira o comando a seguir utilizando a url que você copiou:

# git clone <url do repositorio>
git clone https://github.com/<seu-usuario-github>/introducao-a-data-science.git
Enter fullscreen mode Exit fullscreen mode

Image description

Ainda usando o Git Bash, acesse o repositório clonado.

cd introducao-a-data-science/
Enter fullscreen mode Exit fullscreen mode

Observe que existe uma pasta “.git”.

Image description

A pasta .git é uma pasta oculta que fica no diretório raiz de um repositório Git, contém todo o controle de versão para aquele repositório e armazena as informações sobre o histórico de commits, branches, tags e outras configurações relacionadas ao repositório.

Ela possui em seu conteúdo:

objects: Esta pasta armazena os objetos do Git compactados, que representam as versões dos arquivos e diretórios ao longo do tempo.

refs: Aqui estão as referências para commits, branches, tags e outras entidades. As branches e tags são mantidas aqui como ponteiros para commits específicos.

logs: Essa pasta contém logs de referências, mantendo um registro de quando as referências (como branches) foram atualizadas.

HEAD: Este é um arquivo que aponta para o commit atual em que você está trabalhando. Geralmente, ele aponta para a branch que está ativa.

config: Este arquivo armazena as configurações específicas do repositório, como informações de usuário e opções de formatação.

index: Este arquivo é conhecido como “index” ou “staging area”. Ele contém informações sobre as mudanças que estão prontas para serem commitadas.

hooks: Nesta pasta, você pode adicionar scripts personalizados que serão executados automaticamente em certos eventos do Git, como antes de um commit ou após um merge.

É importante não mexer manualmente nos arquivos dentro desta pasta, a menos que você tenha um conhecimento profundo do funcionamento interno do Git.

Enviando as alterações para o repositório remoto

Após realizar as alterações desejadas, você pode atualizar o seu repositório. Por ainda se tratar de um tutorial básico, e o repositório ser apenas para fins didáticos e sem impacto no repositório original, ainda vamos fazer as alterações diretamente na branch master.

git status # verifique os arquivos que foram alterados
Enter fullscreen mode Exit fullscreen mode

Image description

git add readme.md # adiciona ao commit apenas as alterações feitas no arquivo readme.md
# você pode adicionar ao commit todas as alterações usando git add .

git commit -m "add readme" # adiciona a mensagem de commit
Enter fullscreen mode Exit fullscreen mode

Image description

git push origin master # envia o commit com as alterações para a branch master
Enter fullscreen mode Exit fullscreen mode

Image description

Acesse/Atualize a página com o repositório remoto e observe que o arquivo adicionado já aparece, bem como a mensagem do último commit.

Image description

Espero que este tutorial tenha te ajudado!

Se ficou alguma dúvida, sinta-se à vontade para me contatar.

Top comments (0)