Ana Rute Profile picture
10 Jan 19, 29 tweets, 6 min read
Também quero brincar 🤓

1 RT = 1 dica de git ou Github
Acabou de dar commit, não deu push ainda mas quer adicionar mais algum arquivo?
1 - `git add <arquivo>`
2 - `git commit --amend`
O amend modifica o commit passado, então você pode inclusive usá-lo pra remover arquivos do commit, mudar a mensagem, trocar autor, o que quiser!
Criei um monte de commit que não quero mais, mas não quero perder as mudanças que fiz:
`git reset --soft <hash do commit pra onde quer voltar ou branch>`
As suas mudanças vão estar staged, prontas pra serem commitadas novamente
3. Quero apagar tudo (commits e mudanças) que fiz e deixar minha branch exatamente igual a um commit específico ou branch:
`git reset --hard <hash do commit ou branch>`
Se quiser deixar igual a uma branch remota, pode ser `git reset --hard origin/branch`
4. Não faço ideia de como deixei meu repo local nesse estado:
`git reflog`
Vai te dar um histórico do que você fez
5. Mexi um monte num arquivo, mas quero commitar só uma parte das mudanças:
`git add -p <arquivo>`
Vai te mostrar pedaço por pedaço do que você mudou e te perguntar o que quer colocar em stage
6. Ao começar um projeto novo, não se esqueça de já configurar o arquivo .gitignore pra evitar subir arquivos indesejados. Vai ser bem mais fácil se já fizer do começo do que ter que remover depois 🤙
Aqui tem um monte de template que dá pra copiar: github.com/github/gitigno…
7. Quero ver o diff inteiro de código do que foi feito nos últimos commits
`git log -p`
8. Quero acompanhar o fork de um projeto:
git remote add <nome-fork> <https://url-do-fork.git>
Pra ver todos os remotes do repo q vc tem localmente:
git remote -v
Pra usar, é só trocar origin pelo nome que você deu ao remote:
git pull <nome-fork>, git checkout nome-fork/branch...
9. No GitHub, se você escrever na mensagem do commit "close", "closes", "closed", "fixes" ou "fixed" seguido de hashtag + número da issue (por exemplo: "Fixes #1234") , a issue é automaticamente fechada
10. Para quem usa o VS Code, super recomendo o plugin Git Lens. Ele mostra visualmente todo o histórico de commits do arquivo, quem fez o quê e quando, bem útil: marketplace.visualstudio.com/items?itemName…
11. Criou uma branch com o nome errado e só percebeu bem depois, na hora de dar push? no worries:
`git branch -m nome-velho nome-novo`
12. Sabia que no GitHub dá pra usar emoji nas mensagens de commit? Pra usar precisa seguir o modelo ":nome-do-emoji:"
Pra ser sincera eu não sou muito fã, mas num projeto mais zuerinha, quem sabe :smile:
Aqui tem uma colinha webfx.com/tools/emoji-ch…
Quem quiser ir além no assunto emoji no commit: medium.com/walmartlabs/se…
13. Vc sabe a diferença entre git e GitHub? git é o software de controle de versão, GitHub é uma plataforma para hospedar projetos que usam git. Fora o GitHub existem outras soluções como BitBucket e GitLab, e por ser open source vc pode ter o seu próprio servidor de git
14. Se você tem dificuldade com vim ou outro editor de linha de comando, é possível trocar o editor padrão que o git usa pra escrever as mensagens de commit ou resolver conflitos:
`git config --global core.editor "seu-editor"`
15. Eu entendo ter preguiça de adicionar arquivo por arquivo, mas ao invés de dar `git add . ` e vez ou outra subir o que não deve, usa `git add -u ` que ele vai adicionar só os arquivos que já foram trackeados pelo git. Ou melhor, nunca use `git add . `
16. Escreva mensagens de commit concisas e específicas. Quanto mais detalhada for a descrição do commit (to de olho em você só usar `git commit -m`), melhor pro seu eu do futuro, principalmente se seu código não for muito comentado.
17. Eu sou da turma dos micro commits: quanto mais commits melhor. A função funcionou? commita. O teste passou? commita. Isso ajuda muito no futuro caso tenha que desfazer algo, caçar bugs ou reaproveitar código. Mesmo q não esteja 100%, commita com "WIP" na frente q é a dica 18
18. Se você não acabou o que tinha que fazer mas não quer correr o risco de perder o que já foi feito, vc pode commitar e na mensagem adicionar "WIP" antes, que significa Work in Progress. Quando tiver pronto vc poder dar commit --amend e tirar o WIP da mensagem ;)
19. + sobre WIP: essa dica é só pra quando você estiver numa branch separada. Se tiver trabalhando com alguém na mesma branch, é bom avisar pra não mandar código quebrado pra coleguinha. E evite mandar WIP pra master, já que devemos sempre evitar modificar o passado dessa branch
20. Se tiver q modificar um commit do passado que ñ seja o último, por exemplo pra tirar um commit WIP, a gente usa o `git rebase -i`, que é o rebase interativo. Esse já é um pouco mais difícil, eu fiz um post que explica uma das formas de usar: anarute.com/preciso-modifi…
21. Use `git stash` pra guardar *temporariamente* os arquivos modificados q ainda ñ foram commitados. Útil qndo precisa trocar de branch, por ex., testar o código sem suas mudanças, ou testar em outra branch. Pra "pegar" as mudanças de volta `git stash pop`
22. Quero pegar só um commitzinho de uma branch que ainda não tá em master e jogar na branch que você está:
`git cherry-pick <hash-do-commit>`
23. Eu to dando várias dicas e uma galera já tá contribuindo falando outras formas de fazer algo que eu disse. Uma das coisas mais legais de git é que tem vários caminhos de chegar num mesmo resultado, você tem q ver o que é melhor/mais produtivo pro seu fluxo de trabalho
24. Eu vejo muita gente que tá começando tendo que digitar nome e usuário TODA vez que clona, dá push ou pull. Isso é porque vc ainda não adicionou uma chave SSH do seu computador no GitHub! Arrumar isso é facinho: help.github.com/articles/addin…
25. Todas as dicas dessa thread são pra usar git na linha de comando. Por isso é mega importante perder o medo do terminal! Ele não morde, aos pouquinhos a gente se familiariza a ponto de preferir fazer tudo por lá
26. git e terminal: se vc ainda ñ modificou seus dotfiles ou não usa algum tema bonitinho q mostra qual branch vc tá, status do staging, etc. Recomendo q faça já! Aumenta a produtividade exponencialmente.
Eu uso zsh + oh my zsh + qlqr tema que trate git github.com/robbyrussell/o…
27. Quero deletar da minha pasta local todos os arquivos que ainda não foram trackeados pelo git:
`git clean -dfx`
(tks @guspadovan!)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ana Rute

Ana Rute Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!