- Setando o nome de usuário globalmente e o de email:
git config --global user.name “Seu nome”
git config --global user.email "Seu email"
- Gerando chave ssh no pc (Usando o terminal bash):
ssh-keygen
cat ~/.ssh/id_rsa.pub
No github, vou em /setting > ssh keys > add new/ e colo o que aparece
- olhar configurações:
git config --list
- 1 - Inicia o Git em um diretório
git init
- 2 - Adicionar repositório remoto com a chave ssh
git remote add origin <chave ssh, https... ex.: https://github.com/iggym/AnotherTest.git>
- 2.1 - Alterando a chave ssh ou link https
git remote set-url origin <chave ssh ou link https>
- 2.2 - Checar a url do repositório remoto local
git remote -v
- 3 - Adicionar o repositório remoto no seu computador
git add -u origin master
- Atualiza sua branch local de acordo com a remota
git pull
- Atualiza sua branch local de acordo com alguma outra branch remota (resolver conflitos também)
git pull origin <nome-da-branch-remota>
- Checar alterações na branch local pendentes
git status
- 1 - Mandar algum arquivo para área staging
git add <nome-do-arquivo> <- pode ser um diretório de uma pasta também
- Mandar todos arquivos para área staging
git add --all
- Ver diferenças entre um arquivo na área staging e o arquivo atual aberto
git diff <nome-do-arquivo>
- 2 - Adicionar uma modificação na branch local que será mandada no push para a remota
git commit -a (todos, sem descrição)
git commit -a -m “descrição do que foi feito”
git commit -m “descrição do que foi feito” -- Mensagem sem assinatura
git commit -sm “descrição do que foi feito” -- Mensagem com assinatura
- Ver as commits locais
git log
- 3 - Mandar para a branch remota e já dar um merge nela
git push -u origin <nome-da-branch-remota>
- Mandar para a branch remota, gerando um pull request (se necessário)
git push
- Gerando um pull request //seguro Ctrl + clique no lugar que tem (remote: https://bitbucket.org...)
- Se mover para uma branch local já criada
git checkout <nome-da-branch-local>
```bash
* Criar uma branch local e já se mover para ela
*(Ela vira filha da branch atual que você está)*
```bash
git checkout -b <nome-da-branch>
- Criar uma branch remotamente e já enviar o que tiver no commit
git push --set-upstream origin <nome-da-branch-remota>
- Ver branchs locais
git branch
- Baixar branchs remotas abaixo da branch local que você está
git fetch
- Baixar um projeto localmente de um repositório remoto
git clone <http ou ssh do repositório>
- Excluir alterações que não quer
git checkout .
- Excluir branch local
git branch -d <nome da branch>
- Excluir branch local mesmo que não tenha sido merjada
git branch -D <nome da branch>
- Excluir branch remota
git push <branch-pai-da-remota> <branch-remota> --delete
ou
git push origin :<branch-remota>
- Deixar branch local igual à remota
git reset --hard origin/<branch-remota>
- Armazena todas as alterações para no perder
git stash
- Solta todas as alteraçes que armazenei na branch que eu tiver
git stash pop
-
Para Usar preciso colocar minha chave ssh lá
-
Criar chave ssh local se não houver
ssh-keygen -t rsa -b 4096 -C “meu-email”
- Copiar chave ssh para o cntrl+v
(tem que tá no diretório home)
clip < ~/.ssh/id_rsa.pub
- Adicionar chave ssh no github
- vou nas opções perto do meu profile -> setting -> SSH and GPC keys
- clico em criar nova chave ssh, coloco um título e área de key copio ela.
- salvo e pronto, tá feito.
- Ver todos os commits
git log
- Ver apenas certa quantidade de commits
git log -n 2
- Copio a hash do commit abaixo dele e uso no comando abaixo:
git rebase -i <commit hash>
- Vai abrir um arquivo no editor nano. Renomeio para
reword
o que vou alterar
pick <commit hash> Título 1
reword <commit hash> Título 2 -- Esse aqui eu vou alterar
- Uso o comando ctrl + o para escrever no arquivo e clico enter
- Uso o comando ctrl + x para sair do arquivo
- Se alterei algum commit para
reword
, vou seguindo de 1 em 1 para todas as mensagens de commit para eu editar - Ao finalizar de editar, uso o comando uso o comando ctrl + o para escrever no arquivo e clico enter
- Uso o comando ctrl + x para sair do arquivo e após clico y, para editar o arquivo.
- Clico enter e vou para o próximo commit que vou editar.
- Se o commit já está remoto, ao finalizar tudo, preciso apenas rodar o comando abaixo para alterar esta mensagem de commit remotamente:
git push -f origin <branch name>
O Rebase serve para alinhar todos os commits adicionados em uma branch, deixando-os em sequência.
Assim quando eu for olhar os commits de uma branch, todos estarão alinhados
git pull --rebase branch-ai
git push
mkdir <repo>
cd <repo>
git init
git remote add -f origin <url>
git config core.sparseCheckout true
# Agora é só escolher a pasta
echo "some/dir/" >> .git/info/sparse-checkout
# Posso até adicionar mais pastas do mesmo jeito
echo "another/sub/tree" >> .git/info/sparse-checkout