Você está na página 1de 6

Git – Muito Além do Pull e Push

1. Historia do Git
No mundo Open Sourse tem muita treta e barraco. É briga por Nome, quem fez o quê,
qual licença é usada, O projeto GNU é dono de todo código com a licencia GNU. Uma
maior confusão.
E o Git nasceu disso, do caos.
Em 2002, o projeto do núcleo do Linux começou usar uma DVCS (Sistema de Controle
de Versão Distribuído) proprietária chamada BitKeeper.

Em 2005, a relação entre a comunidade que desenvolveu o núcleo do Linux e a


empresa que desenvolveu BitKeeper quebrou em pedaços (Treta), e a ferramenta
passou a ser paga, pois nem relógio trabalha de graça.
E a comunidade e o Linus Torvalds falaram “Bateu de frente é só tiro, porrada e
bomba“, e para lacrar eles tiveram como objetivo em criar algo melhor:

 Velocidade
 Projeto simples
 Forte suporte para desenvolvimento não-linear (milhares de ramos paralelos)
 Completamente distribuído
 Capaz de lidar com projetos grandes como o núcleo o Linux com eficiência
(velocidade e tamanho dos dados)
Desde seu nascimento em 2005, Git evoluiu e amadureceu para ser fácil de usar.

2. Como eu conheci o Git


Tava eu lá no quarto semestre de Analise e Desenvolvimento de Sistemas,
desesperado em conseguir alguma vaga de estagio, e depois de diversas entrevistas
não terem resultaram em nada. Eu com meus 20 anos, fui pesquisar o que precisa para
ser um programador junior no Google, não tive uma resposta satisfatória, então
pesquisei em inglês e um post do REddit mostrava uma lista o precisava, e o git e
github estava lá.

3. O que é Git?
O Git é um sistema de controle de versão distribuído usado para gerenciar e rastrear
alterações em arquivos e projetos de software. Ele permite que várias pessoas
trabalhem em um mesmo projeto simultaneamente, mantendo um histórico de todas
as alterações realizadas em cada arquivo.
Com o Git, você pode criar ramificações (branches) para experimentar diferentes
abordagens em um projeto sem afetar a versão principal (master). Depois de concluir o
trabalho em uma ramificação, você pode mesclá-la novamente com a versão principal
para incorporar as alterações.

O Git também oferece recursos de colaboração, como a capacidade de fazer pull de


alterações do repositório remoto para o seu repositório local e enviar alterações para
o repositório remoto através de push. Além disso, o Git permite que você reverta
alterações anteriores em caso de erros ou problemas.

4. Configurando o Git
$ git config --global user.name "Seu Nome"
$ git config --global user.email seu-email@example.com
$ git config --global core.editor core
git config --list

5. Criando um Repositório Local


Navegue até o diretório e crie uma nova pasta.
Acesse a pasta Pasta
Use o comando git init para inicializar o git
Crie um arquivo
Use o comando git add <nome_do_arquivo> para preparar ele ser incluído no commit

Use o git commit -m “Adicionando o arquivo inicial” (-m serve para passarmos uma
mensagem de commit) Sem o -m, o git vai abrir o seu editor de texto padrão para
adicionar o seu comentário

6. As Branchs
As branches (ou ramificações) no Git são usadas para criar linhas de desenvolvimento
separadas a partir do mesmo repositório, permitindo que diferentes desenvolvedores
trabalhem em diferentes recursos ao mesmo tempo sem interferir no trabalho uns dos
outros. Cada branch representa uma versão diferente do código e pode ser usada para
desenvolver novos recursos, corrigir bugs ou testar alterações sem afetar a branch
principal do projeto.

Usando o comando git branch: O comando git branch cria uma nova branch a partir da
branch atual. Para criar uma nova branch, execute o seguinte comando:

$ git branch <nome-da-branch>

Criando a branch a partir do checkout

$ git checkout -b <nome-da-branch>

Após criar uma nova branch, você pode trabalhar em seu novo recurso ou correção de
bug na nova branch, fazer commits e push para a branch remota correspondente. É
importante lembrar que cada branch é independente e pode ter seu próprio histórico
de commits, portanto, você deve garantir que esteja trabalhando na branch correta
antes de fazer alterações e commits.

7. Checkout
O comando git checkout no Git é usado principalmente para mudar entre diferentes
branches ou para verificar arquivos individuais de um commit anterior. Ele permite
que você navegue e altere a sua árvore de trabalho do Git.

$ git checkout <nome-da-branch>


$ git checkout -b <nome-da-nova-branch>
$ git checkout <hash-do-commit> <nome-do-arquivo>

8. Commit
é usado para salvar as alterações feitas nos arquivos de um repositório em uma nova
revisão do projeto
$ git commit -m "mensagem de commit"

Opções :
-a ;
-am ;
--amend ;
-S (Para adicionar uma assinatura GPG) (Assinatura GPG é uma forma de
autenticação digital que usa um par de chaves criptográficas (pública e privada)
para verificar a identidade de uma pessoa ou entidade que assina um arquivo
ou mensagem)

9. Fetch
O comando "fetch" é usado no Git para baixar as alterações mais recentes de um
repositório remoto para o seu repositório local, sem aplicar essas mudanças ao código-
fonte atual do projeto. Isso permite que você veja quais alterações foram feitas no
repositório remoto desde a última vez que você sincronizou com ele.

Usando

Primeiro, abra o terminal e navegue até o diretório do seu repositório local do Git.

Verifique em qual branch você está usando o comando git branch. O asterisco (*) antes
do nome do branch indica o branch atual.

Execute o comando git fetch origin para buscar as alterações mais recentes do
repositório remoto "origin" sem mesclá-las em seu branch atual.

Use o comando git log FETCH_HEAD para ver quais alterações foram baixadas do
repositório remoto. Isso mostrará os logs dos commits mais recentes no branch do
repositório remoto que você acabou de buscar.

Para comparar as alterações baixadas com as alterações no seu branch atual, use o
comando git diff FETCH_HEAD. Isso mostrará as diferenças entre o branch do
repositório remoto e o branch atual em seu repositório local.
Se você decidir aplicar as alterações do repositório remoto ao seu branch atual, use o
comando git merge FETCH_HEAD ou git rebase FETCH_HEAD para mesclar as
mudanças no seu código-fonte atual.

10. Pull e Push


Os comandos "pull" e "push" são usados no Git para sincronizar alterações entre o
repositório local e o repositório remoto.
O comando "pull" é usado para buscar as alterações do repositório remoto e mesclá-
las com o branch atual do repositório local. A sintaxe básica do comando é a seguinte:
$ git pull <remote> <branch>

Já o comando "push" é usado para enviar as alterações locais para o repositório


remoto. A sintaxe básica do comando é a seguinte:
$ git push <remote> <branch>

Opções:

--force ou -f: permite forçar a operação mesmo que ela possa causar perda de dados ou
conflitos. Essa opção deve ser usada com muito cuidado, pois pode levar a perda de trabalho e
afetar a integridade do histórico do repositório.

--all: permite que todas as branches locais sejam enviadas durante o comando "push".

--tags: permite que as tags locais também sejam enviadas durante o comando "push".

Se você não especificar o repositório remoto e a branch nos comandos "pull" ou "push", o Git
usará as configurações padrão para o repositório remoto e a branch atual.

11. Diff

O comando "diff" é um dos comandos mais úteis no Git, que é usado para mostrar as
diferenças entre arquivos ou entre o estado atual do repositório e um commit anterior. Ele é
usado para visualizar as alterações feitas no código e ajuda os desenvolvedores a entender as
mudanças que foram feitas em um determinado arquivo ou no repositório como um todo.

Existem várias maneiras de usar o comando "diff", aqui estão alguns exemplos:
git diff: Este comando mostra as diferenças entre o estado atual do repositório e o diretório de
trabalho. Ele exibe as alterações que foram feitas desde o último commit.

git diff <commit-id>: Este comando mostra as diferenças entre o estado atual do repositório e
o commit especificado. Ele exibe as alterações que foram feitas entre o commit especificado e
o estado atual do repositório.

git diff <commit-id-1> <commit-id-2>: Este comando mostra as diferenças entre dois commits
especificados. Ele exibe as alterações que foram feitas entre o commit-id-1 e o commit-id-2.

git diff --cached: Este comando mostra as diferenças entre o índice de trabalho (staged
changes) e o último commit. Ele exibe as alterações que foram adicionadas ao índice de
trabalho desde o último commit.

12. Git Reset

13. Resolvendo conflitos de Merge

Merge Conflict (Repositório remoto)

$git checkout <sua branch que está dando conflito>

$git pull origin <branch que vai fazer o merge>

Resolva os conflitos

$git commit

$git push origin HEAD

Você também pode gostar