From 8a2b9c25ba6e9e0c75ecc91dac481e0f27e929a4 Mon Sep 17 00:00:00 2001 From: Rui FGF Date: Thu, 23 Jul 2026 07:51:49 +0100 Subject: [PATCH 1/2] European portuguese, swears, tips --- pt_PT/swears/tips/01-magic-time-machine.md | 18 ++++++++++++ pt_PT/swears/tips/02-change-last-commit.md | 18 ++++++++++++ .../tips/03-change-last-commit-message.md | 13 +++++++++ .../tips/04-accidental-commit-master.md | 17 +++++++++++ .../tips/05-accidental-commit-wrong-branch.md | 29 +++++++++++++++++++ pt_PT/swears/tips/06-dude-wheres-my-diff.md | 14 +++++++++ pt_PT/swears/tips/07-undo-a-commit.md | 21 ++++++++++++++ pt_PT/swears/tips/08-undo-a-file.md | 18 ++++++++++++ pt_PT/swears/tips/20-fuck-this-noise.md | 28 ++++++++++++++++++ pt_PT/swears/tips/tips.json | 1 + 10 files changed, 177 insertions(+) create mode 100644 pt_PT/swears/tips/01-magic-time-machine.md create mode 100644 pt_PT/swears/tips/02-change-last-commit.md create mode 100644 pt_PT/swears/tips/03-change-last-commit-message.md create mode 100644 pt_PT/swears/tips/04-accidental-commit-master.md create mode 100644 pt_PT/swears/tips/05-accidental-commit-wrong-branch.md create mode 100644 pt_PT/swears/tips/06-dude-wheres-my-diff.md create mode 100644 pt_PT/swears/tips/07-undo-a-commit.md create mode 100644 pt_PT/swears/tips/08-undo-a-file.md create mode 100644 pt_PT/swears/tips/20-fuck-this-noise.md create mode 100644 pt_PT/swears/tips/tips.json diff --git a/pt_PT/swears/tips/01-magic-time-machine.md b/pt_PT/swears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..c592af74 --- /dev/null +++ b/pt_PT/swears/tips/01-magic-time-machine.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Foda-se, fiz uma asneira enorme, por favor diz-me que o git tem uma máquina do tempo!?! +id: magic-time-machine +order: 1 +--- + +```git +git reflog +# vais ver uma lista de tudo o que fizeste no git +# em todos os branches! +# cada um tem um index HEAD@{index} +# procura o mais recente, antes da asneira +git reset HEAD@{index} +# maquina do tempo +``` + +Podes usar isto para recuperar coisas que foram apagadas acidentalmente, ou apagar experiências que estragaram o repo, ou desfazer um mau merge, ou simplesmente voltar a um ponto em que as coisas estavam a funcionar. Eu uso `reflog` MUITAS vezes. Um beijinho especial à muita muita muita muita muita gente que sugeriu adicionar. diff --git a/pt_PT/swears/tips/02-change-last-commit.md b/pt_PT/swears/tips/02-change-last-commit.md new file mode 100644 index 00000000..9368721b --- /dev/null +++ b/pt_PT/swears/tips/02-change-last-commit.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Foda-se, fiz commit e percebi imediatamente que preciso de fazer uma pequena alteração! +id: change-last-commit +order: 2 +--- + +```git +# faz a alteracao que pretendes +git add . # or add individual files +git commit --amend --no-edit +# agora, o ultimo commit tem as alteracoes! +# AVISO: nunca facas amend de commits publicos +``` + +Isto costuma acontecer-me quando faço commit e depois executo testes e linters... e fdx, falta um espaço depois do igual. Também podes fazer um novo commit com as alterações, e depois executar `rebase -i` para fazer squash (ou seja, fundir) dos dois, mas isto é mais rápido. + +*Aviso: Nunca faças amend de commits que foram pushed para um branch público ou partilhado! Faz amend apenas a commits que existem só na tua cópia local, ou as coisas vão correr mal.* diff --git a/pt_PT/swears/tips/03-change-last-commit-message.md b/pt_PT/swears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..7d4f6240 --- /dev/null +++ b/pt_PT/swears/tips/03-change-last-commit-message.md @@ -0,0 +1,13 @@ +--- +tags: tip +title: Foda-se, preciso de mudar a mensagem do último commit! +id: change-last-commit-message +order: 3 +--- + +```git +git commit --amend +# segue as instrucoes para mudar a mensagem de commit +``` + +A estupidez de requerimentos de formatação da mensagem de commit. diff --git a/pt_PT/swears/tips/04-accidental-commit-master.md b/pt_PT/swears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..cd64f4ba --- /dev/null +++ b/pt_PT/swears/tips/04-accidental-commit-master.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: Foda-se, enganei-me e fiz commit para main de código que devia estar num branch novo! +id: accidental-commit-master +order: 4 +--- + +```git +# cria um novo branch a partir do estado atual de main +git branch um-branch-novo +# elimina o ultimo commit de main +git reset HEAD~ --hard +git checkout um-branch-novo +# o teu commit esta neste branch agora :) +``` + +Nota: não funciona se já fizeste push para um branch público ou partilhado, e se já tentáste outras coisas, talvez tenhas que fazer `git reset HEAD@{varios-commits-atras}` em vez de `HEAD~`. Mágoa infinita. Para além disso, imensas pessoas sugeriram uma ótima e mais simples maneira de fazer isto que eu não conhecia. Obrigado a todos! diff --git a/pt_PT/swears/tips/05-accidental-commit-wrong-branch.md b/pt_PT/swears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..41d3366a --- /dev/null +++ b/pt_PT/swears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,29 @@ +--- +tags: tip +title: Foda-se, fiz commit para o branch errado! +id: accidental-commit-wrong-branch +order: 5 +--- + +```git +# desfazer o ultimo commit, mantendo as alterações disponíveis +git reset HEAD~ --soft +git stash +# mudar para o branch correto +git checkout name-of-the-correct-branch +git stash pop +git add . # ou adicionar ficheiros individualmente +git commit -m "A tua mensagem aqui"; +# agora as alteracoes estão no branch correto +``` + +Muita gente sugeriu usar `cherry-pick` nesta situação, usa o que fizer mais sentido para ti. + +```git +git checkout nome-do-branch-correto +# puxar o commit mais recente para main +git cherry-pick master +# apagar de main +git checkout master +git reset HEAD~ --hard +``` diff --git a/pt_PT/swears/tips/06-dude-wheres-my-diff.md b/pt_PT/swears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..396bc0de --- /dev/null +++ b/pt_PT/swears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,14 @@ +--- +tags: tip +title: Foda-se, fiz um diff, mas está vazio?! +id: dude-wheres-my-diff +order: 6 +--- + +Se tens a certeza que alteraste ficheiros, mas o `diff` aparece vazio, provavelmente fizeste `add` dos ficheiros à área de staging e terás que usar uma flag. + +```git +git diff --staged +``` + +Arquivar sob ¯\_(ツ)_/¯ (sim, eu sei que não defeito, é feitio, mas é estupidamente confuso e não é óbvio a primeira vez que te acontece!) diff --git a/pt_PT/swears/tips/07-undo-a-commit.md b/pt_PT/swears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..77537e57 --- /dev/null +++ b/pt_PT/swears/tips/07-undo-a-commit.md @@ -0,0 +1,21 @@ +--- +tags: tip +title: Foda-se preciso de desfazer um commit de há 5 commits atrás! +id: undo-a-commit +order: 7 +--- + +```git +# procura o commit que precisas de desfazer +git log +# usa as setas no teclado para navegar o historico +# quando encontrares, guarda o hash do commit +git revert [hash guardado] +# o git vai criar um novo commit que desfaz o tal +# segue as mensagens para alterar a mensagem do commit +# ou basta guardar e commitar +``` + +Afinal não é preciso procurar o conteúdo de um fichero num commit antigo para copiar e colar quando precisas de reverter alterações! Se submeteste um bug ou uma gralha qualquer, podes desfazer o commit com `revert`. + +Também podes reverter apenas um ficheiro específico em vez do commit inteiro! Mas claro que, com o caralho do git, é um conjunto de comandos completamente diferentes... \ No newline at end of file diff --git a/pt_PT/swears/tips/08-undo-a-file.md b/pt_PT/swears/tips/08-undo-a-file.md new file mode 100644 index 00000000..2b63c101 --- /dev/null +++ b/pt_PT/swears/tips/08-undo-a-file.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Foda-se preciso de desfazer as alterações num ficheiro! +id: undo-a-file +order: 8 +--- + +```git +# procura o hash de um commit antes do ficheiro ser alterado +git log +# usa as setas no teclado para navegar o historico +# quando encontrares, guarda o hash do commit +git checkout [hash guardado] -- caminho/para/o/ficheiro +# a versao original do ficheiro vai estar no index +git commit -m "Uau, nao tens que copiar colar para corrigir" +``` + +O momento em que finalmente percebi esta merda foi UM ESPETÁCULO. ESPETÁÁÁÁCULO. Como diz o Fernando Mendes. Mas foda-se, que ideia de merda fazer com que `checkout --` seja a melhor maneira de desfazer alterações num ficheiro. :sai-da-frente-linus-torvalds: \ No newline at end of file diff --git a/pt_PT/swears/tips/20-fuck-this-noise.md b/pt_PT/swears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..74ec83fa --- /dev/null +++ b/pt_PT/swears/tips/20-fuck-this-noise.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Caralho para esta merda, desisto. +id: fuck-this-noise +note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it +order: 20 +--- + +```git +cd .. +sudo rm -r pasta-do-crlh-do-git +git clone https://some.github.url/pasta-do-crlh-do-git.git +cd pasta-do-crlh-do-git +``` + +Obrigado ao Eric V. por esta. Dirijam a ele todas as queixas sobre o uso de `sudo` nesta piada. + +Mas honestamente, se o teu branch está tão rebentado que precisas de voltar ao estado do repositório remoto, mas de uma forma "corretamente git", experimenta isto. Mas os efeitos destas ações são destrutivos e irrevertíveis! + +```git +# sacar o estado mais recente do repositorio remoto +git fetch origin +git checkout master +git reset --hard origin/master +# apagar ficheiros e pastas que nao sao tracked +git clean -d --force +# repetir checkout/reset/clean para cada branch rebentado +``` \ No newline at end of file diff --git a/pt_PT/swears/tips/tips.json b/pt_PT/swears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/pt_PT/swears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false } From 2852c9deae040d36266d1dd0dce1d1ac4296caa1 Mon Sep 17 00:00:00 2001 From: Rui FGF Date: Thu, 23 Jul 2026 07:54:40 +0100 Subject: [PATCH 2/2] European portuguese, swears, partials --- pt_PT/swears/index.html | 6 ++++++ pt_PT/swears/partials/banner.njk | 1 + pt_PT/swears/partials/footer.njk | 5 +++++ pt_PT/swears/partials/intro.njk | 3 +++ pt_PT/swears/partials/outro.njk | 1 + pt_PT/swears/partials/thanks.njk | 4 ++++ 6 files changed, 20 insertions(+) create mode 100644 pt_PT/swears/index.html create mode 100644 pt_PT/swears/partials/banner.njk create mode 100644 pt_PT/swears/partials/footer.njk create mode 100644 pt_PT/swears/partials/intro.njk create mode 100644 pt_PT/swears/partials/outro.njk create mode 100644 pt_PT/swears/partials/thanks.njk diff --git a/pt_PT/swears/index.html b/pt_PT/swears/index.html new file mode 100644 index 00000000..f2f24a8d --- /dev/null +++ b/pt_PT/swears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: pt_PT +contentType: swears +title: Oh Shit, Git!?! +--- \ No newline at end of file diff --git a/pt_PT/swears/partials/banner.njk b/pt_PT/swears/partials/banner.njk new file mode 100644 index 00000000..91737dba --- /dev/null +++ b/pt_PT/swears/partials/banner.njk @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pt_PT/swears/partials/footer.njk b/pt_PT/swears/partials/footer.njk new file mode 100644 index 00000000..de26f170 --- /dev/null +++ b/pt_PT/swears/partials/footer.njk @@ -0,0 +1,5 @@ +
+ Qual é o teu o teu momento de Foda-se, git? Partilha comigo! + + {{site.copyright | safe}} +
\ No newline at end of file diff --git a/pt_PT/swears/partials/intro.njk b/pt_PT/swears/partials/intro.njk new file mode 100644 index 00000000..fadd6e24 --- /dev/null +++ b/pt_PT/swears/partials/intro.njk @@ -0,0 +1,3 @@ +

Git é difícil, fazer asneira é fácil, e saber como resolver os problemas é complicado p'ra caralho. A documentação de Git tem este problema de pescadinha de rabo na boca onde não sabes procurar como resolver um problema se não sabes o nome da coisa que precisas usar para o resolver.

+ +

Por isso, aqui estão em algumas alhadas em que eu me meti e como eventualmente me safei, escrito em português suave.

\ No newline at end of file diff --git a/pt_PT/swears/partials/outro.njk b/pt_PT/swears/partials/outro.njk new file mode 100644 index 00000000..184c00c1 --- /dev/null +++ b/pt_PT/swears/partials/outro.njk @@ -0,0 +1 @@ +

*Aviso: esta página não é suposto ser uma referência exaustiva. E sim, há outras formas de chegar ao mesmo resultado de uma forma com mais pureza técnica ou raio que te parta, mas cheguei a estes métodos por tentativa e erro com muita asneirada e mesas ao ar, e deu-me na telha partilhar com uma dose homeopática de leveza e profanidade. Faz como quiseres!

\ No newline at end of file diff --git a/pt_PT/swears/partials/thanks.njk b/pt_PT/swears/partials/thanks.njk new file mode 100644 index 00000000..c3610bdf --- /dev/null +++ b/pt_PT/swears/partials/thanks.njk @@ -0,0 +1,4 @@ +

Mil obrigados a toda a gente que se voluntariou para traduzir a página, vocês são espeteculares! +{% include "partials/collaborator-list.njk" %}. Com ajuda adicional de {% include "partials/otherhelper-list.njk" %}

+ +

Se queres ajudar a traduzir, submete um PR em {% github_link %}.

\ No newline at end of file