- Criando y clonando repositorios
duas formas:
1º:
mkdir repo-local
cd repo-local/
git init (inicializa repositorio git) (mostra main no repo-local)
cd .git (mostra GIT_DIR! p dizer q ja ta num dir git)
ls (lista todo o conteudo que ta dentro da pasta .git)
cat config (mostra configuracoes do config)
git remote add nome url (como foi associado depois n mostra branch
clonar:
git clone url nome-do-dir-local *clona do repositorio remoto*
*comparando o config do repositorio clonado e o local mostra a origem remota da url
e a branch referenciando o repositorio remoto*
p clonar so branches especificas:
git clone url --branch feature-1 --single-branch
git remote -v (mostra repositorios remotos
cd.. *volta uma pasta
-Salvando alteraçoes repo local
git status = mostra status da area de trabalho (ou seja, mostra arquivos)
touch readme.md (cria arquivo vazio)
readme: info sobre projeto, falar de tecnologias que usou
markdown: linguagem de marcaçao simples, forma mais simples do html (github mostra
como faz tudo
readme.so (site que tem como fazer readme com previsualizacao do lado
clear (comando p limpar)
git add README.md - adiciona o arquivo
git status - mostra q o arquivo ta pronto p ser commitado
git commit -m"msg que descreve alteraçao feita" (faz o commit
git log (mostra qm fez o comit, data, hash (id do commit e o commit feito)
git n reconhece o passe de pastas vazias, p reconhecer o dir tem q ta c algum
arquivo dentro
echo resumos/ > .gitignore - pede p git ignorar a pasta
touch aulas/.gitkeep - convencao p o git reconhecer o dir vazio
se o arquivo foi modificado e der um gitstatus ele diz q foi modificado, porem se
volta p original ele automaticamente compara com o ultimo save e diz q n tem nada p
fazer commit
-Desfazer alteracoes no repo local
rm -rf remove o repo como git
git restore nome do arquivo - restaura mudança feita no arquivo
commit --amend -m"mensagem p corrigir" - altera nome do commit feito p corrigir
git commit --amend (abre o editor, p sair esc ..)
git reset --soft hash (so a partir do hash dado)
git reset --mixed hash (os arquivos posteriores ficam como untracked
git reset --hard hash (ignora completamente e volta p inicio
git log (mostra todas as açoes feitas no git)
-enviando e baixando alteracoes com repo remoto
git remote add origin link
git push -u origin main (envia a branch e coloca ocmo main, com isso ja passa do
local p remoto
git pull (puxa alteraçoes do remoto e poe no local)
-trabalhando com branches: criando, mesclado, deletando e tratando conflitos
git commit -m"nome do commit"
git branch (lista branches
git banch -d nomepapagar - apaga branch
-comandos uteis
git pull - git fecth + git merge
git fetch origin main (baixa alteraçoes
git diff main origin/main -retorna arquivos
git merge origin/main - traz o arquivo que tava na branch remota sem mesclar c
branch local
p clonar so rep teste:
git clone url --branch teste --single-branch (se n indica o q é p clonar clona so
principal
cd repo-remoto (teste) (diz q branch é teste e n main)
git stash arquiva modificaçao feita
git stash list -lista modificacoes arquivadas
git checkout -b -teste-2 (muda p outra branch
git stash pop -trazer alteraçoes e remover a mais recente
git stash apply - manter na lista p uso posterior