Skip to content
gabizelaaPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

guia básico de git e github

anotações rápidas para começar projetos, conectar repositórios e corrigir commits sem precisar procurar tudo de novo.

configurar git

ver configuração atual:

git config user.name
git config user.email

configurar globalmente:

git config --global user.name "seu-usuario"
git config --global user.email "seu-email"

configurar somente no projeto atual:

git config user.name "seu-usuario"
git config user.email "seu-email"

isso é útil quando você usa mais de uma conta do github.


iniciar um projeto novo

dentro da pasta do projeto:

git init
git branch -M main
git add .
git commit -m "initial commit"

depois conecte ao github:

git remote add origin https://github.com/usuario/repositorio.git
git push -u origin main

conectar uma pasta local a um repositório existente

confira se já existe algum remote:

git remote -v

se não existir:

git remote add origin https://github.com/usuario/repositorio.git

depois:

git branch -M main
git push -u origin main

trocar o repositório remoto

ver o remote atual:

git remote -v

trocar a url:

git remote set-url origin https://github.com/usuario/novo-repositorio.git

baixar um repositório existente

git clone https://github.com/usuario/repositorio.git
cd repositorio

fluxo básico do dia a dia

ver alterações:

git status

adicionar tudo:

git add .

criar commit:

git commit -m "descrição da alteração"

enviar:

git push

baixar atualizações:

git pull

ver commits

lista resumida:

git log --oneline

com gráfico:

git log --oneline --graph --decorate --all

ver o último commit:

git show HEAD

desfazer o último commit

manter as alterações preparadas

git reset --soft HEAD~1

remove o commit, mas mantém os arquivos no staging.

manter as alterações nos arquivos

git reset HEAD~1

remove o commit e tira os arquivos do staging.

apagar o commit e as alterações

git reset --hard HEAD~1

cuidado: esse comando apaga as alterações locais daquele commit.


corrigir o último commit

adicione os arquivos corrigidos:

git add .

atualize o último commit sem mudar a mensagem:

git commit --amend --no-edit

ou altere a mensagem:

git commit --amend -m "nova mensagem"

desfazer um commit que já foi enviado

forma mais segura:

git revert HASH_DO_COMMIT
git push

isso cria um novo commit que desfaz o anterior sem reescrever o histórico.


remover commits locais ainda não enviados

voltar um commit:

git reset --soft HEAD~1

voltar dois:

git reset --soft HEAD~2

também é possível usar o hash:

git reset --soft HASH_DO_COMMIT

atualizar o github depois de reescrever histórico

quando você usou reset, rebase ou amend em commits que já estavam no github:

git push --force-with-lease

prefira --force-with-lease em vez de --force.

cuidado: reescrever histórico pode apagar commits de outras pessoas.


remover todo o histórico e criar apenas um initial commit

útil quando você duplicou um projeto e quer publicar uma cópia limpa.

primeiro confirme que .env, tokens e arquivos privados estão no .gitignore.

depois:

Remove-Item -Recurse -Force .git

git init
git branch -M main
git add .
git commit -m "initial commit"

git remote add origin https://github.com/usuario/repositorio.git
git push -u origin main

isso mantém os arquivos e remove apenas o histórico git local.


criar repositório usando github cli

ver login:

gh auth status

fazer login:

gh auth login

criar repositório público:

gh repo create nome-do-repositorio --public --source=. --remote=origin --push

privado:

gh repo create nome-do-repositorio --private --source=. --remote=origin --push

branches

ver branches:

git branch

criar e entrar em uma branch:

git switch -c nome-da-branch

trocar de branch:

git switch main

apagar branch local:

git branch -d nome-da-branch

enviar nova branch:

git push -u origin nome-da-branch

descartar alterações locais

descartar mudanças de um arquivo:

git restore caminho/do/arquivo

descartar todas as alterações rastreadas:

git restore .

tirar arquivo do staging:

git restore --staged caminho/do/arquivo

arquivos que não devem ir para o github

exemplo de .gitignore:

.env
.env.*
!.env.example

.venv/
venv/
__pycache__/

node_modules/
dist/
.angular/

.vscode/
.idea/

*.log
*.pem
*.key

.private/

confira se um arquivo está sendo ignorado:

git check-ignore caminho/do/arquivo

ver somente arquivos versionados:

git ls-files

nunca versione api keys, tokens, senhas, client secrets ou arquivos .env reais.

se um segredo já foi commitado, apagar o arquivo depois não remove o segredo do histórico. revogue a credencial e substitua por uma nova.


erros comuns

branch sem upstream

erro:

the current branch main has no upstream branch

corrigir:

git push -u origin main

origin já existe

ver:

git remote -v

trocar:

git remote set-url origin https://github.com/usuario/repositorio.git

ou remover e criar novamente:

git remote remove origin
git remote add origin https://github.com/usuario/repositorio.git

push rejeitado porque o remoto tem alterações

primeiro tente:

git pull --rebase origin main
git push

não use --force sem entender por que o push foi rejeitado.

github bloqueou um secret

não libere o secret pelo botão de bypass se ele for uma chave real.

remova a chave do arquivo e também dos commits que estão sendo enviados.

se for um projeto novo e o remoto ainda estiver vazio, normalmente é mais simples recriar o histórico:

Remove-Item -Recurse -Force .git
git init
git branch -M main
git add .
git commit -m "initial commit"
git remote add origin https://github.com/usuario/repositorio.git
git push -u origin main

comandos que eu mais uso

git status
git add .
git commit -m "mensagem"
git push
git pull

git log --oneline --graph
git remote -v
git branch

git reset --soft HEAD~1
git commit --amend --no-edit

git check-ignore arquivo
git ls-files

regra simples

antes de usar:

git reset --hard
git push --force
Remove-Item -Recurse -Force .git

confira duas vezes o que você está fazendo.

esses comandos podem apagar alterações ou reescrever o histórico.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors