{"id":20548040,"url":"https://github.com/aleroxac/fullcycle-desafio-git","last_synced_at":"2026-02-10T17:37:27.156Z","repository":{"id":159050138,"uuid":"591776475","full_name":"aleroxac/fullcycle-desafio-git","owner":"aleroxac","description":"Implementação do desafio do módulo de Git do Curso Full Cycle 3.0 ministrado pelo Wesley Williams.","archived":false,"fork":false,"pushed_at":"2023-01-21T23:58:56.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T05:24:01.576Z","etag":null,"topics":["fullcycle","gitflow","gpg"],"latest_commit_sha":null,"homepage":"https://github.com/aleroxac/fullcycle-desafio-git","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleroxac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-21T20:38:22.000Z","updated_at":"2023-01-21T23:49:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"c666f03c-f5ba-42ff-8b37-844bc3e494ce","html_url":"https://github.com/aleroxac/fullcycle-desafio-git","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aleroxac/fullcycle-desafio-git","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleroxac%2Ffullcycle-desafio-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleroxac%2Ffullcycle-desafio-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleroxac%2Ffullcycle-desafio-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleroxac%2Ffullcycle-desafio-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleroxac","download_url":"https://codeload.github.com/aleroxac/fullcycle-desafio-git/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleroxac%2Ffullcycle-desafio-git/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268859123,"owners_count":24318874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fullcycle","gitflow","gpg"],"created_at":"2024-11-16T02:11:46.527Z","updated_at":"2026-02-10T17:37:22.118Z","avatar_url":"https://github.com/aleroxac.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# fullcycle-desafio-git\nImplementação do desafio do módulo de Git do Curso Full Cycle 3.0 ministrado pelo Wesley Williams.\n\n\n## 1. Baixe e instale o gitflow\n``` shell\n### Baixe e instale o gitflow\ncurl -sL  https://raw.githubusercontent.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh -o gitflow-installer.sh\nsudo bash gitflow-installer.sh install stable \u0026\u0026 rm -rf gitflow-installer.sh gitflow\n```\n\n\n## 2. Configure uma chave GPG\n``` shell\necho -n \"Informe seu nome e sobrenome: \" \u0026\u0026 read USER_NAME\necho -n \"Informe seu email: \" \u0026\u0026 read USER_EMAIL\nGPG_KEY_PASS=$(pwgen -cns 20 1 | tee ~/.gnupg/$(whoami)-gpg-key.pass)\n\ngpg --list-secret-key --keyid-format long\ncat \u003c\u003c EOF \u003e ~/.gnupg/$(whoami)-gpg-key-config.txt\n    Key-Type: RSA\n    Key-Length: 4096\n    Expire-Date: 0\n    Name-Real: ${USER_NAME}\n    Name-Email: ${USER_EMAIL}\n    Passphrase: ${GPG_KEY_PASS}\nEOF\ngpg --batch --gen-key ~/.gnupg/$(whoami)-gpg-key-config.txt\n```\n\n## 3. Adicione a chave GPG no Github\n``` shell\nGPG_KEY_ID=$(gpg --list-secret-keys --keyid-format long \"John Doe\" | grep sec | tail -1 | column -t | cut -d \" \" -f3 | cut -d\"/\" -f2)\ngpg --armor --export ${GPG_KEY_ID} | xclip -sel clip\n\n# 1. Acesse https://github.com/settings/gpg/new\n# 2. Insira um titulo\n# 3. Cole o conteúdo da sua chave GPG que já estará em sua área de transferência\n# 4. Clique em \"Adicionar chave GPG\"\n```\n\n## 3. Configure a chave GPG no git\n``` shell\necho \"export GPG_TTY=$(tty)\" \u003e\u003e .bashrc\ngit config --global user.signingkey ${GPG_KEY_ID}\ngit config --global tag.gpgsign true\n```\n\n## 4. Inicialize o gitflow\n``` shell\ngit flow init\ngit --no-pager branch\n```\n\n\n## 5. Crie uma branch feature\n``` shell\ngit flow feature start changelog\n\nLASTEST_TAG=$(git --no-pager tag -l | sort -nr | head -n1 | tr -d \"v\")\nCHANGELOG_TAG=$([ $(echo ${LASTEST_TAG} | wc -l) -gt 1 ] \u0026\u0026 echo ${LASTEST_TAG} || echo v0.1.0)\n\ncat \u003c\u003c EOF \u003e CHANGELOG.md\n# changelog\n\n## [${CHANGELOG_TAG}] - $(date +'%Y-%m-%d')\n\n### Added\n- some feature\nEOF\n\ngit commit -m \"add changelog\"\ngit log --show-signature -1\ngit flow feature finish changelog\n```\n\n\n## 6. Gere uma release\n``` shell\ngit flow release start 0.1.0\ngit flow release finish 0.1.0\n```\n\n\n## Referências\n- https://github.com/petervanderdoes/gitflow-avh/wiki/Installation\n- https://keepachangelog.com/pt-BR/0.3.0/\n- https://www.conventionalcommits.org/en/v1.0.0/\n- https://github.com/embeddedartistry/templates\n- https://semver.org/lang/pt-BR/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleroxac%2Ffullcycle-desafio-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleroxac%2Ffullcycle-desafio-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleroxac%2Ffullcycle-desafio-git/lists"}