{"id":42897748,"url":"https://github.com/andreia-oca/git_good_workshop","last_synced_at":"2026-01-30T15:15:39.324Z","repository":{"id":318930438,"uuid":"863010812","full_name":"andreia-oca/git_good_workshop","owner":"andreia-oca","description":"Git Good - a workshop for day to day git knowledge","archived":false,"fork":false,"pushed_at":"2025-11-25T14:26:45.000Z","size":138,"stargazers_count":2,"open_issues_count":3,"forks_count":18,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-28T20:10:46.651Z","etag":null,"topics":["git","omniopencon","version-control","workshop"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreia-oca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-25T15:04:45.000Z","updated_at":"2025-11-25T14:26:49.000Z","dependencies_parsed_at":"2025-10-17T08:31:43.556Z","dependency_job_id":"6fcc9181-804b-4ea9-b135-9309e5a40fc5","html_url":"https://github.com/andreia-oca/git_good_workshop","commit_stats":null,"previous_names":["andreia-oca/git_good_workshop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreia-oca/git_good_workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia-oca%2Fgit_good_workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia-oca%2Fgit_good_workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia-oca%2Fgit_good_workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia-oca%2Fgit_good_workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreia-oca","download_url":"https://codeload.github.com/andreia-oca/git_good_workshop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia-oca%2Fgit_good_workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28914901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["git","omniopencon","version-control","workshop"],"created_at":"2026-01-30T15:15:38.658Z","updated_at":"2026-01-30T15:15:39.319Z","avatar_url":"https://github.com/andreia-oca.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Good - An essential guide to `git` Workshop\n\nThis repository contains the content for the Git Good workshop. The workshop is a collection of useful commands, tricks and workflows that I use in my day to day work as a software engineer. Each section is a markdown file in the `sections` directory. There you will find instructions, examples and commands to run based on a specific `git` topic.\n\n## Prerequisites\n\nYou should have `git` installed on your machine.\n\nPreferably, have a unix/linux/macOS machine. Windows users can use WSL.\n\nPreferably, you should have a GitHub account (I am sure this workshop can work with other git providers as well, but these docs will be biased towards GitHub).\n\n## Workshop mindset\n\n* This workshop is a hands-on workshop. You will learn by doing - experiment with commands, be curious, break things, ask questions, repeat.\n* It's self-paced - you can spend time on the sections you find interesting or challenging.\n* The goal of this workshop is to make you more comfortable with `git` and to configure new commands that will help you in your day-to-day work. Spend time on setting them to your needs.\n* Feel free to contribute to this repository - add new sections, add your feedback, notes, expectations in the `testimonials` directory.\n* This repository is your chance to create PRs, test things and learn how to contribute to open-source projects without the fear of breaking things.\n\n## Sections\n\nEach section is a markdown file in the `sections` directory.\nThere you will find instruction, examples and commands to run based on a specific topic.\n\n- [The usual git flow](sections/01-the-usual-git-flow.md) - clone/fork, create a branch, status, commit some changes, git status, git push\n- [Make yourself at home](sections/02-make-yourself-at-home.md) - git config, git hist, git show, git diff\n- [Mastering git stash](sections/03-mastering-git-stash.md) - git stash\n- [Hot fixing in production](sections/04-hot-fixing-in-production.md) - git cherry-pick, git please\n- [Code review shenanigans](sections/05-code-review-shenanigans.md) - git rebase -i, git commit -sv --amend, git commit -svm\n- [Who dafaq wrote this - oh it's me](sections/06-who-dafaq-wrote-this-oh-its-me.md) - git blame, git bisect\n- [Context switching between tasks](sections/07-context-switching-between-tasks.md) - git stash, git rebase, git merge, git squash\n- [Advanced settings](sections/08-advanced-settings.md) - ssh key, pre-commit hooks\n\n## Contributions\n\nIf you find a mistake, or you want to add a section, feel free to open an [issue](https://github.com/andreia-oca/git_good_workshop/issues) or fork this repository and open a [pull request](https://github.com/andreia-oca/git_good_workshop/fork).\n\n## References\n\nThese references are dedicated to `git` geeks who want to check more in-depth configs about `git`.\nThey refer to advanced topics and the guts of `git`.\n- So You Think You Know Git - FOSDEM 2024 https://www.youtube.com/watch?v=aolI_Rz0ZqY - nice tips and tricks from Scott Chacon\n- Git's Best And Most Unknown Feature - https://www.youtube.com/watch?v=2uEqYw-N8uE - how to configure and use worktrees.\n- You only Git Merge?!? feat Theo : DevHour #1 - https://www.youtube.com/watch?v=7gEbHsHXdn0 - git merge vs git rebase - what's best for big projects\n- The guts of git - https://guts-of-git.carson-anderson.com/docs/workshop/ - git internals\n- Tutorial on git reflog - https://www.git-tower.com/learn/git/faq/what-is-git-reflog\n- Great interactive Git tutorial - https://learngitbranching.js.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreia-oca%2Fgit_good_workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreia-oca%2Fgit_good_workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreia-oca%2Fgit_good_workshop/lists"}