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.

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

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

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay