{"id":61888,"url":"https://github.com/labex-labs/git-free-tutorials","name":"git-free-tutorials","description":"Free Git tutorials for beginners with 30 interactive lessons. Easy-to-follow programming guides with hands-on practice exercises.","projects_count":33,"last_synced_at":"2026-07-01T01:00:24.811Z","repository":{"id":241206108,"uuid":"804635894","full_name":"labex-labs/git-free-tutorials","owner":"labex-labs","description":"Free Git tutorials for beginners with 30 interactive lessons. Easy-to-follow programming guides with hands-on practice exercises.","archived":false,"fork":false,"pushed_at":"2025-10-23T00:22:41.000Z","size":81,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-06-13T16:03:59.732Z","etag":null,"topics":["awesome","awesome-list","collaboration","command-line","devops","exercises","free","free-tutorials","git","hands-on","labex","learning-resource","open-source","programming","software-development","tutorial","tutorials","version-control"],"latest_commit_sha":null,"homepage":"https://labex.io/learn/git","language":null,"has_issues":false,"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/labex-labs.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-23T01:09:42.000Z","updated_at":"2025-11-22T11:43:39.000Z","dependencies_parsed_at":"2025-04-24T18:01:35.882Z","dependency_job_id":"4a8d6b1d-a623-4ea2-8911-b4673a22fa30","html_url":"https://github.com/labex-labs/git-free-tutorials","commit_stats":null,"previous_names":["labex-labs/git-free-tutorials"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/labex-labs/git-free-tutorials","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fgit-free-tutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fgit-free-tutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fgit-free-tutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fgit-free-tutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/labex-labs","download_url":"https://codeload.github.com/labex-labs/git-free-tutorials/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fgit-free-tutorials/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34988714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"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"}},"created_at":"2024-06-13T01:07:45.420Z","updated_at":"2026-07-01T01:00:24.813Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["More","More Free Tutorials","Languages"],"sub_categories":[],"readme":"# Practice Git Free Tutorials\n\n## Languages\n\n🇨🇳 [简体中文](README_zh.md) 🇯🇵 [日本語](README_ja.md) 🇪🇸 [Español](README_es.md) 🇫🇷 [Français](README_fr.md) 🇩🇪 [Deutsch](README_de.md) 🇷🇺 [Русский](README_ru.md) 🇰🇷 [한국어](README_ko.md) 🇧🇷 [Português](README_pt.md) 🇺🇸 [English](README.md) \n\n\u003cdiv align=\"center\"\u003e\n\u003cimg width=\"128px\" src=\"https://file.labex.io/path/mlkFQS0wjouP.png\"\u003e\n\u003c/div\u003e\n\nLearn Git, the industry-standard version control system, with this comprehensive learning path designed for beginners. This roadmap provides a structured approach to mastering Git through a series of hands-on Git courses. Progress from fundamental concepts like repositories and branching to advanced team collaboration workflows. Gain practical, real-world experience with code version management by completing interactive exercises in a dedicated Git playground.\n\n|   Index | Name                                                                                                                                                                                                                             | Difficulty   | Tutorial Link                                                                                                                             |\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------|\n|      01 | [📖 Your First Git Lab](https://labex.io/tutorials/git-your-first-git-lab-92739)                                                                                                                                                 | Beginner     | [🔗 View](https://labex.io/tutorials/git-your-first-git-lab-92739)                                                                        |\n|      02 | [📖 How to handle Git connection timeouts](https://labex.io/tutorials/git-how-to-handle-git-connection-timeouts-419950)                                                                                                          | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-handle-git-connection-timeouts-419950)                                                    |\n|      03 | [📖 How to View Changes in a Specific Git Commit](https://labex.io/tutorials/git-how-to-view-changes-in-a-specific-git-commit-417721)                                                                                            | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-view-changes-in-a-specific-git-commit-417721)                                             |\n|      04 | [📖 How to address 'fatal: bad object HEAD' error](https://labex.io/tutorials/git-how-to-address-fatal-bad-object-head-error-417639)                                                                                             | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-address-fatal-bad-object-head-error-417639)                                               |\n|      05 | [📖 How to use git rm --cached to remove a file from the Git index](https://labex.io/tutorials/git-how-to-use-git-rm-cached-to-remove-a-file-from-the-git-index-417574)                                                          | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-use-git-rm-cached-to-remove-a-file-from-the-git-index-417574)                             |\n|      06 | [📖 How to resolve 'fatal: unable to auto-detect email address' error](https://labex.io/tutorials/git-how-to-resolve-fatal-unable-to-auto-detect-email-address-error-417552)                                                     | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-resolve-fatal-unable-to-auto-detect-email-address-error-417552)                           |\n|      07 | [📖 How to handle 'error: untracked working tree files would be overwritten by checkout' in Git](https://labex.io/tutorials/git-how-to-handle-error-untracked-working-tree-files-would-be-overwritten-by-checkout-in-git-417551) | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-handle-error-untracked-working-tree-files-would-be-overwritten-by-checkout-in-git-417551) |\n|      08 | [📖 How to fix 'fatal: unable to read config file' error in Git](https://labex.io/tutorials/git-how-to-fix-fatal-unable-to-read-config-file-error-in-git-417550)                                                                 | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-fix-fatal-unable-to-read-config-file-error-in-git-417550)                                 |\n|      09 | [📖 How to address 'error: Your local changes would be overwritten by merge' in Git](https://labex.io/tutorials/git-how-to-address-error-your-local-changes-would-be-overwritten-by-merge-in-git-417548)                         | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-address-error-your-local-changes-would-be-overwritten-by-merge-in-git-417548)             |\n|      10 | [📖 How to undo a git cherry-pick operation](https://labex.io/tutorials/git-how-to-undo-a-git-cherry-pick-operation-417333)                                                                                                      | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-undo-a-git-cherry-pick-operation-417333)                                                  |\n|      11 | [📖 How to check the status of Git submodules in a repository](https://labex.io/tutorials/git-how-to-check-the-status-of-git-submodules-in-a-repository-415628)                                                                  | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-check-the-status-of-git-submodules-in-a-repository-415628)                                |\n|      12 | [📖 How to revert a Git commit without losing changes](https://labex.io/tutorials/git-how-to-revert-a-git-commit-without-losing-changes-415168)                                                                                  | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-revert-a-git-commit-without-losing-changes-415168)                                        |\n|      13 | [📖 How to view the commit history of a remote Git branch](https://labex.io/tutorials/git-how-to-view-the-commit-history-of-a-remote-git-branch-414840)                                                                          | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-view-the-commit-history-of-a-remote-git-branch-414840)                                    |\n|      14 | [📖 How to check the current branch](https://labex.io/tutorials/git-how-to-check-the-current-branch-414785)                                                                                                                      | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-check-the-current-branch-414785)                                                          |\n|      15 | [📖 How to Resolve Git Branch Ahead of Origin](https://labex.io/tutorials/git-how-to-resolve-git-branch-ahead-of-origin-413775)                                                                                                  | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-resolve-git-branch-ahead-of-origin-413775)                                                |\n|      16 | [📖 Resolving \"Cannot Delete Branch Checked Out\" Error in Git](https://labex.io/tutorials/git-resolving-cannot-delete-branch-checked-out-error-in-git-411666)                                                                    | Beginner     | [🔗 View](https://labex.io/tutorials/git-resolving-cannot-delete-branch-checked-out-error-in-git-411666)                                  |\n|      17 | [📖 How to Clone a Git Repository with Username and Password Authentication](https://labex.io/tutorials/git-how-to-clone-a-git-repository-with-username-and-password-authentication-400166)                                      | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-clone-a-git-repository-with-username-and-password-authentication-400166)                  |\n|      18 | [📖 How to View Your Git Username in Terminal](https://labex.io/tutorials/git-how-to-view-your-git-username-in-terminal-398375)                                                                                                  | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-view-your-git-username-in-terminal-398375)                                                |\n|      19 | [📖 How to Remove Cached Files with Git](https://labex.io/tutorials/git-how-to-remove-cached-files-with-git-398319)                                                                                                              | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-remove-cached-files-with-git-398319)                                                      |\n|      20 | [📖 How to Ignore EXE Files in a Git Repository Using GitIgnore](https://labex.io/tutorials/git-how-to-ignore-exe-files-in-a-git-repository-using-gitignore-392944)                                                              | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-ignore-exe-files-in-a-git-repository-using-gitignore-392944)                              |\n|      21 | [📖 How to Undo and Remove a Specific Git Commit from Current Branch](https://labex.io/tutorials/git-how-to-undo-and-remove-a-specific-git-commit-from-current-branch-392832)                                                    | Beginner     | [🔗 View](https://labex.io/tutorials/git-how-to-undo-and-remove-a-specific-git-commit-from-current-branch-392832)                         |\n|      22 | [📖 Git Pull: Ignore Local Chang](https://labex.io/tutorials/git-git-pull-ignore-local-chang-391995)                                                                                                                             | Beginner     | [🔗 View](https://labex.io/tutorials/git-git-pull-ignore-local-chang-391995)                                                              |\n|      23 | [📖 Git Switch vs Git Checkout](https://labex.io/tutorials/git-git-switch-vs-git-checkout-391555)                                                                                                                                | Beginner     | [🔗 View](https://labex.io/tutorials/git-git-switch-vs-git-checkout-391555)                                                               |\n|      24 | [📖 The Time Traveler's Suitcase](https://labex.io/tutorials/git-the-time-traveler-s-suitcase-387725)                                                                                                                            | Beginner     | [🔗 View](https://labex.io/tutorials/git-the-time-traveler-s-suitcase-387725)                                                             |\n|      25 | [📖 Time Machine Identity Configuration](https://labex.io/tutorials/git-time-machine-identity-configuration-387720)                                                                                                              | Beginner     | [🔗 View](https://labex.io/tutorials/git-time-machine-identity-configuration-387720)                                                      |\n|      26 | [📖 Operation Quantum Leap](https://labex.io/tutorials/git-operation-quantum-leap-387717)                                                                                                                                        | Beginner     | [🔗 View](https://labex.io/tutorials/git-operation-quantum-leap-387717)                                                                   |\n|      27 | [📖 Working with Files and Staging Area](https://labex.io/tutorials/git-working-with-files-and-staging-area-387457)                                                                                                              | Beginner     | [🔗 View](https://labex.io/tutorials/git-working-with-files-and-staging-area-387457)                                                      |\n|      28 | [📖 Clone a Repository](https://labex.io/tutorials/git-clone-a-repository-387454)                                                                                                                                                | Beginner     | [🔗 View](https://labex.io/tutorials/git-clone-a-repository-387454)                                                                       |\n|      29 | [📖 Git Config Management](https://labex.io/tutorials/git-git-config-management-385164)                                                                                                                                          | Beginner     | [🔗 View](https://labex.io/tutorials/git-git-config-management-385164)                                                                    |\n|      30 | [📖 Git Branch Basic Operations](https://labex.io/tutorials/git-git-branch-basic-operations-385163)                                                                                                                              | Beginner     | [🔗 View](https://labex.io/tutorials/git-git-branch-basic-operations-385163)                                                              |\n\n## More\n\n- 🔗 [Git Learn more about](https://labex.io/skilltrees/git)\n- 🔗 [Awesome Programming Courses](https://github.com/labex-labs/awesome-programming-courses)\n- 🔗 [Awesome Programming Projects](https://github.com/labex-labs/awesome-programming-projects)\n\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/labex-labs%2Fgit-free-tutorials/projects"}