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:
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:
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:
Na sua máquina, vá até o local onde você deseja que o repositório seja salvo, e abra o Git Bash:
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
Ainda usando o Git Bash, acesse o repositório clonado.
cd introducao-a-data-science/
Observe que existe uma pasta “.git”.
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
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
git push origin master # envia o commit com as alterações para a branch master
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.
Espero que este tutorial tenha te ajudado!
Se ficou alguma dúvida, sinta-se à vontade para me contatar.
Top comments (0)