0% acharam este documento útil (0 voto)
6 visualizações39 páginas

Git & GitHub

O documento aborda o versionamento de código e os sistemas de controle de versão, destacando as diferenças entre VCS centralizados e distribuídos, com ênfase no Git como um sistema distribuído. Ele também explora o GitHub como uma plataforma de hospedagem e fornece comandos essenciais para gerenciar repositórios, autenticação e manipulação de alterações. Além disso, o texto inclui instruções sobre como criar, clonar e conectar repositórios, além de gerenciar alterações e desfazer ações no repositório local.

Enviado por

kaua lasco
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações39 páginas

Git & GitHub

O documento aborda o versionamento de código e os sistemas de controle de versão, destacando as diferenças entre VCS centralizados e distribuídos, com ênfase no Git como um sistema distribuído. Ele também explora o GitHub como uma plataforma de hospedagem e fornece comandos essenciais para gerenciar repositórios, autenticação e manipulação de alterações. Além disso, o texto inclui instruções sobre como criar, clonar e conectar repositórios, além de gerenciar alterações e desfazer ações no repositório local.

Enviado por

kaua lasco
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 39

Git &

GitHub
O QUE É E COMO UTILIZAR
Versionamento de código
O que é?
O versionamento de código,
também conhecido como controle
de versão, é uma prática que
consiste em acompanhar e
registrar todas as alterações feitas
nos arquivos de código fonte de
um projeto ao
– NEIL ARMSTRONG
longo do tempo.
Sistemas de controle de versão
O que é?
Os sistemas de controle de versões são
ferramentas de software que ajudam as
equipes de software a gerenciar as alterações
ao código fonte ao longo do tempo.
Registra o histórico de atualizações de um arquivo;

Gerencia quais foram as alterações, a data, autor,


etc.;
–Organização,
NEIL ARMSTRONG
controle e segurança.
Tipos de sistemas de controle de
versão
VCS Centralizado (CVCS)
O sistema centralizado, como o nome diz tem um servidor ou serviço central e funciona
na arquitetura cliente/servidor. Este servidor tem todas as versões do código.

Para trabalhar em um projeto você precisa instalar o cliente e fazer o download de todo o
código e sempre vai depender do servidor para gravar suas modificações, se ele não
estiver no ar você não consegue fazer seus commits, e isso te impede de trabalhar.

A dependência do serviço no ar para trabalhar por si só já é algo que pode incomodar,


além disso, temos um problema maior ainda, uma vez que todo o código está no servidor,
perdeu o servidor, perdeu o código e aí ninguém trabalha mesmo.

Em resumo, se o servidor estiver fora, ninguém faz nada.


Os VCS centralizados podem até ser mais simples de instalar, manter e usar, mas o risco
de um ponto único de falha é muito grande para assumir hoje em dia.
Exemplos de sistemas centralizados:

•SVN
•CVS
– NEIL
•Perforce
ARMSTRONG
VCS Distribuído (DVCS)
No VCS distribuído todo mundo tem a cópia do software em sua máquina, pode
trabalhar localmente e depois enviar e integrar seu código em um repositório intermediário usado
para isso, no caso do GIT chamamos esse locais de remotes.

Como todo mundo tem o código, temos múltiplos backups e caso o repositório de alguém se
corrompa, podemos facilmente pegar a cópia de outro desenvolvedor e seguir trabalhando.

Como temos uma cópia local, podemos trabalhar offline e depois enviar e integrar o código com dos
nossos colegas, e saiba que trabalhar local é bem mais rápido.

A criação de branchs é rápida e objetiva porque é tudo local e não precisa contatar um servidor
central toda a vez que for criar uma branch.

A única coisa que precisa ficar claro é a curva de aprendizado pode ser maior do que sistemas mais
simples e centralizados, contudo, o poder, a flexibilidade, a segurança e a velocidade de trabalhar
superam esse detalhe.

Exemplos de sistemas centralizados:

•GIT
– NEIL
•Mercurial ARMSTRONG
•Bazaar
Git
O que é?
O Git é um sistema de controle de versão distribuído,
o que significa que um clone local do projeto é um
repositório de controle de versão completo. Esses
repositórios locais totalmente funcionais facilitam o
trabalho offline ou remoto. Os desenvolvedores
confirmam o trabalho localmente e depois
sincronizam a cópia do repositório com a cópia no
servidor. Esse paradigma é diferente do controle de
versão centralizado, no qual os clientes devem
sincronizar o código com um servidor antes de criar
novas versões
– NEIL do código.
ARMSTRONG
Fluxo básico no Git
• git clone -> clona um repositório Git existente
para um novo diretório (pasta) local.

• git commit -> salva uma nova versão/grava


alterações no repositório.

• git pull -> “puxa” as alterações do repositório


remoto para o local (busca e mescla).

• git push -> “empurra” as alterações do


–repositório local para o remoto.
NEIL ARMSTRONG
GitHub
O que é?
GitHub é uma plataforma de hospedagem de
código-fonte e arquivos com controle de versão
usando o Git. Ele permite que programadores,
utilitários ou qualquer usuário cadastrado na
plataforma contribuam em projetos privados e/ou
Open Source de qualquer lugar do mundo.

– NEIL ARMSTRONG
GitBash
O que é?
O Git Bash é uma ferramenta poderosa que
facilita o gerenciamento de projetos versionados
pelo Git. No ambiente de trabalho, dominar os
comandos essenciais no Git Bash é fundamental
para otimizar o fluxo de trabalho e colaboração.

– NEIL ARMSTRONG
Comandos
• git config -> exibe todas as informações a
respeito da ferramenta.

• git config --global user.name “Kauã” ->


altera globalmente o nome exibido nos
repositórios.

• git config --global user.email


[email protected]>
altera globalmente o nome exibido nos
– NEIL ARMSTRONG
repositórios.
Comandos
• git config user.name -> exibe o valor
atribuído a variável.

• git config user.email -> exibe o valor


atribuído a variável.

• git config --global --list -> exibe todas as


configurações globais.

– NEIL ARMSTRONG
Comandos Branch
• git config init.defaultBranch -> exibe o
nome da Branch padrão.

• git config --global init.defaultBranch main


-> altera o nome da Branch padrão. No caso
para “main”.

– NEIL ARMSTRONG
AUTENTICANDO VIA TOKEN
Autenticando
Para autenticar você deve acessar sua conta do
GitHub e criar um novo repositório. Feito isso,
copie o link do repositório.

Como o link do repositório copiado, podemos


executar ações no GitBash, como por exemplo
clonar o mesmo.

– NEIL ARMSTRONG
Clonando o repositório
Para clonar um repositório sem estar autenticado,
você deve utilizar o seguinte comando.

• git clone https://github.com/Karilisun/123.git

Depois que você apertar “enter”, irá pedir o nome


de usuário e a sua senha. Realizando essa forma de
autenticação, irá dar erro, pois ela não é mais
utilizada.
Para solucionar o problema, na senha você vai por o
token gerado
– NEIL pelo GitHub nas configurações de
ARMSTRONG
desenvolvedor (Developer Settings).
Salvando credenciais
Para salvar suas credenciais e não precisar estar
gerando um código a todo momento. Você pode
estar utilizando os seguintes comando:

• git config --global credential.helper cache ->


salva temporariamente sua credencial;

• git config --global credential.helper store ->


salva permanentemente sua credencial.

– NEIL ARMSTRONG
Salvando credenciais
Para saber como a sua credencial está salva, você
deve utilizar o seguinte comando:

• git config --global --show-origin


credential.helper

– NEIL ARMSTRONG
Verificar token e credenciais
Para você verificar seu token e suas credenciais você
deve utilizar os seguintes comando:

• cat .gitconfig -> exibe todos os dados que você


configurou.

• cat .git-credentials -> exibe suas credenciais e


token.

– NEIL ARMSTRONG
Autenticando via Chave SSH
Uma chave SSH é a credencial de acesso para o protocolo de rede SSH (shell
seguro). Esse protocolo de rede segura autenticado e criptografado é usado para
comunicação remota entre máquinas em rede aberta não segura.

Esse método funciona com um par de chaves, sendo chave pública e privada
que fica presente no seu computador.

Para verificar se há alguma chave em seu computador você deve abrir o


GitBash, em seguida inserir o seguinte comando: ls -al ~/.ssh. Caso você não
tenha uma chave SSH em sua máquina você deve utilizar os seguintes
comandos:

• ssh-keygen -t ed25519 -C ‘‘[email protected]“ -> irá


gerar uma chave pública.

Após inserir o comando, será necessário você selecionar o local para salvar a
– NEIL
chave, ARMSTRONG
se quiser salvar no local ‘‘padrão“ aperte ‘‘enter“, logo em seguida você
deve escolher uma frase de segurança
SSH-AGENT
Para adicionar uma chave ssh-agent, você deve utilizar o seguinte comando: eval
“$(ssh-agent –s)”.

Para adicionar nossa chave privada ao ssh-agent, insira o seguinte comando:


ssh.add ~/.ssh/id_ed25519. Após inseri-lo pedirá para você inserir sua frase de
segurança.

Para você visualizar as suas chaves você deve utilizar os seguintes comandos:

• cd ~/.ssh -> entrar no diretório;


• ls -> a primeira chave que é exibida é a chave privada e a segunda é a
pública.

Para exibir o conteúdo da chave você deve utilizar o seguindo comando: cat
id_ed25519.pub.

Para– você
NEIL ARMSTRONG
adicionar essa a chave SSH ao GitHub você deve copiar o conteúdo e
inseri-lo lá na área de chaves SSH em configurações. Mas para isso você deve
clicar em “new SSH key”.
Criando e Clonando Repositórios
Criando e clonando repositórios
Existem duas formas de obter um repositório Git na sua máquina:
• 1: Transformando um diretórios local que não está sobre controle de versão,
num repositório Git;
• 2: Clonando um repositório Git existente.

Para você criar uma pasta através do GitBash você deve utilizar o seguinte
comando: $ mkdir nome-da-pasta.

Para você entrar em uma pasta você deve utilizar o seguinte comando: $ cd
nome-da-pasta/.

O comando CTRL+L limpa o terminal.

– NEIL ARMSTRONG
Transformando pasta em diretório
Git
Para transformar uma pasta em um diretório git, você deve utilizar o comando: $
git init.

Para entrar dentro do diretório git, utilize o seguinte comando: $ cd .git.

O repositório Git serve para gerenciar os arquivos para o controle de versão

Para clonar um repositório Git, utilize o seguinte comando: $ git clone link-do-
repositório-que-quer-copiar.com.
Caso você queira mudar o nome da pasta do repositório clonado, você deve
inserir o nome da pasta depois do link do repositório. Exemplo: $ git clone link-
do-repositório-que-quer-copiar.com nome-da-pasta.

Para exibir o conteúdo e os dados do repositório você deve acessar a pasta “.git”
pelo GitBash e inserir o seguinte comando: $ cat config.

– NEIL ARMSTRONG
Conectando um repositório local com um
repositório remoto
Para estar conectando um repositório local com um repositório remoto, você deve
utilizar o seguinte comando: $ git remote add nome-repositorio-remoto link-
do-repositorio-remoto.

Por padrão o nome do repositório remoto fica como “origin”, e é recomendado


deixar “origin” também.

– NEIL ARMSTRONG
Salvando Alterações no Repositório
Local
Salvando alterações no repositório
local
git status -> é utilizado para realizar a exibição do status da árvore de trabalhos e
da área de preparação. E para exibir o estado dos arquivos. Mostra quais arquivos
não foram adicionados para serem adicionados ao commit.

A área de preparação é aonde nós preparamos os nossos arquivos que estamos


querendo salvar.

Para salvarmos alterações no repositório local devemos adicionar essas alterações


com o comando $ git add . (O “.” é para adicionar tudo dentro da pasta. Ou você
pode adicionar apenas um arquivo em específico, adicionando o nome do arquivo
no lugar do ponto. Exemplo: git add sistema-neural.py)

Após adicionar os arquivos desejados para salvar, você deve criar um commit.
Para criar um commit, você deve utilizar o seguinte comando: $ git commit -m
“Mensagem-desejada”.

– NEIL $ARMSTRONG
O comando git log exibe as commit realizadas no repositório criado. Com dados
como autor, data e a identidade do commit (código).
Ignorando um arquivo/pasta no
commit
Para ignorar um arquivo ou pasta ao realizar o commit você deve utilizar o
seguinte comando: $ echo nome-da-pasta/ > .gitignore.

Para desfazer essa ação você deve utilizar o mesmo comando, porém sem o
nome da pasta. Exemplo: $ echo > .gitignore.

Esse comando serve para caso, você queira salvar algumas pastas ou arquivos,
porém você não quer salvar tudo e quer que uma ou duas pastas continuem como
estão sem salvar.

– NEIL ARMSTRONG
Desfazendo Alterações no repositório
local
Desfazendo alterações no repositório
local
Caso você tenha criado um repositório sem querer ou em um local errado você
pode desfazer essa ação utilizando o comando: $ rm -rf .git, esse comando irá
excluir a pasta .git que é a pasta do repositório.

Caso você tenha alterado um documento de seu repositório ou apagou e queira


restaurá-lo você deve utilizar o seguinte comando: $ git restore nome-do-
arquivo.py ou se você quiser restaurar o repositório todo, você deve utilizar o
comando: $ git restore . .

Para alterar a mensagem do último commit que você realizou você deve utilizar o
seguinte comando: $ git commit --amend -m“mensagem-do-commit”.

Outra maneira de alterar essa mensagem é utilizar o editor do commit, para


utilizá-lo você deve usar o seguinte comando: $ git commit --amend. Esse
comando irá abrir o editor do commit, para você editar a mensagem você deve
apertar “i” do teclado na aba que abrir e em seguida editar o que você deseja.
Para– sair
NEIL ARMSTRONG
do editor você deve apertar o “ESC” em seguida escrever o seguinte
comando: :wq.
Desfazendo um commit
Para desfazer um commit e voltar para o commit anterior você deve copiar o
código do commit desejado, em seguida utilizar o seguinte comando: $ git reset
--soft código-do-commit.

Para você adicionar somente os arquivos dos commits passados sem desfazer o
mesmo, e adicionar esses arquivos a sua árvore de trabalho você deve utilizar o
seguinte comando: $ git reset --mixed código-do-commit ou $ git reset
código-do-commit.

Para apagar por completo um commit criado você deve utilizar o seguinte
comando: $ git reset --hard código-do-commit.

Para obter um histórico mais detalhado das alterações que foram feitas nos
commit você deve utilizar o seguinte comando: $ git reflog (esse comando exibe
mais informações do que o comando $ git log).

– NEIL ARMSTRONG
Removendo arquivos da sua área de
preparação
Para remover um arquivo de sua área de preparação você pode utilizar os
seguintes comandos: $ git reset nome-pasta/nome-arquivo.py & $ git
restore --staged nome-pasta/nome-arquivo.py.

– NEIL ARMSTRONG
Enviando e Baixando Alterações
com o Repositório Remoto
Desfazendo alterações no repositório
local
Caso você tenha criado um repositório sem querer ou em um local errado você
pode desfazer essa ação utilizando o comando: $ rm -rf .git, esse comando irá
excluir a pasta .git que é a pasta do repositório.

Caso você tenha alterado um documento de seu repositório ou apagou e queira


restaurá-lo você deve utilizar o seguinte comando: $ git restore nome-do-
arquivo.py ou se você quiser restaurar o repositório todo, você deve utilizar o
comando: $ git restore . .

Para alterar a mensagem do último commit que você realizou você deve utilizar o
seguinte comando: $ git commit --amend -m“mensagem-do-commit”.

Outra maneira de alterar essa mensagem é utilizar o editor do commit, para


utilizá-lo você deve usar o seguinte comando: $ git commit --amend. Esse
comando irá abrir o editor do commit, para você editar a mensagem você deve
apertar “i” do teclado na aba que abrir e em seguida editar o que você deseja.
Para– sair
NEIL ARMSTRONG
do editor você deve apertar o “ESC” em seguida escrever o seguinte
comando: :wq.

Você também pode gostar