/git-free-tutorials

Free Git tutorials for beginners with 30 interactive lessons. Easy-to-follow programming guides with hands-on practice exercises.

Practice Git Free Tutorials

Languages

๐Ÿ‡จ๐Ÿ‡ณ ็ฎ€ไฝ“ไธญๆ–‡ ๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž ๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol ๐Ÿ‡ซ๐Ÿ‡ท Franรงais ๐Ÿ‡ฉ๐Ÿ‡ช Deutsch ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด ๐Ÿ‡ง๐Ÿ‡ท Portuguรชs ๐Ÿ‡บ๐Ÿ‡ธ English

Git is the industry-standard version control system. This Skill Tree offers a comprehensive learning path to master Git. Suitable for developers at all levels, it provides a structured roadmap to understand repositories, branching, and collaboration workflows. Through hands-on, non-video courses and practical exercises in an interactive Git playground, you'll gain real-world experience in code version management and team collaboration.

Index Name Difficulty Tutorial Link
001 ๐Ÿ“– Your First Git Lab Beginner ๐Ÿ”— View
002 ๐Ÿ“– Create a New Repository Beginner ๐Ÿ”— View
003 ๐Ÿ“– Add a Submodule Beginner ๐Ÿ”— View
004 ๐Ÿ“– Apply the Latest Stash Beginner ๐Ÿ”— View
005 ๐Ÿ“– Apply a stash Beginner ๐Ÿ”— View
006 ๐Ÿ“– Automate Upstream Branch Creation Beginner ๐Ÿ”— View
007 ๐Ÿ“– Find Branches Containing a Commit Beginner ๐Ÿ”— View
008 ๐Ÿ“– Find Branches Not Containing a Commit Beginner ๐Ÿ”— View
009 ๐Ÿ“– Change the Remote URL Beginner ๐Ÿ”— View
010 ๐Ÿ“– Clone Missing Submodules Beginner ๐Ÿ”— View
011 ๐Ÿ“– Change the Last Commit's Author Beginner ๐Ÿ”— View
012 ๐Ÿ“– Create a commit by a different author Beginner ๐Ÿ”— View
013 ๐Ÿ“– Add a Commit Message Template Beginner ๐Ÿ”— View
014 ๐Ÿ“– Configure Git User Information Beginner ๐Ÿ”— View
015 ๐Ÿ“– Copy a File from Another Branch Beginner ๐Ÿ”— View
016 ๐Ÿ“– Create a New Branch Beginner ๐Ÿ”— View
017 ๐Ÿ“– Create a Git Commit Beginner ๐Ÿ”— View
018 ๐Ÿ“– Create an Empty Commit Beginner ๐Ÿ”— View
019 ๐Ÿ“– Create a Fixup Commit Beginner ๐Ÿ”— View
020 ๐Ÿ“– Get the Current Branch Name Beginner ๐Ÿ”— View
021 ๐Ÿ“– Delete a Branch Beginner ๐Ÿ”— View
022 ๐Ÿ“– Delete Detached Branches Beginner ๐Ÿ”— View
023 ๐Ÿ“– Delete Merged Branches Beginner ๐Ÿ”— View
024 ๐Ÿ“– Delete a Remote Branch Beginner ๐Ÿ”— View
025 ๐Ÿ“– Delete a Git Stash Beginner ๐Ÿ”— View
026 ๐Ÿ“– Delete All Stashes Beginner ๐Ÿ”— View
027 ๐Ÿ“– Delete a Submodule Beginner ๐Ÿ”— View
028 ๐Ÿ“– Difference Between Branches Beginner ๐Ÿ”— View
029 ๐Ÿ“– Disable Fast Forward Merging Beginner ๐Ÿ”— View
030 ๐Ÿ“– Discard Uncommitted Changes Beginner ๐Ÿ”— View
031 ๐Ÿ“– Discard Untracked Changes Beginner ๐Ÿ”— View
032 ๐Ÿ“– Edit Git Configuration File Beginner ๐Ÿ”— View
033 ๐Ÿ“– Fetch Latest Changes from Remote Beginner ๐Ÿ”— View
034 ๐Ÿ“– Find Lost Files Beginner ๐Ÿ”— View
035 ๐Ÿ“– Update Remote Branch After Rewriting History Beginner ๐Ÿ”— View
036 ๐Ÿ“– Perform an Interactive Rebase Beginner ๐Ÿ”— View
037 ๐Ÿ“– Configure Line Endings Beginner ๐Ÿ”— View
038 ๐Ÿ“– List All Git Aliases Beginner ๐Ÿ”— View
039 ๐Ÿ“– List All Stashes Beginner ๐Ÿ”— View
040 ๐Ÿ“– Tracking Bugs in Git Codebase Beginner ๐Ÿ”— View
041 ๐Ÿ“– Git Merge Collaborative Project Management Beginner ๐Ÿ”— View
042 ๐Ÿ“– Merge a Branch Beginner ๐Ÿ”— View
043 ๐Ÿ“– Move Commits to a New Branch Beginner ๐Ÿ”— View
044 ๐Ÿ“– Optimize the Local Repository Beginner ๐Ÿ”— View
045 ๐Ÿ“– Git Cherry-Pick Code Changes Beginner ๐Ÿ”— View
046 ๐Ÿ“– Pulling All Submodules from Remote Beginner ๐Ÿ”— View
047 ๐Ÿ“– Pull Latest Changes from Remote Beginner ๐Ÿ”— View
048 ๐Ÿ“– Purge a file from history Beginner ๐Ÿ”— View
049 ๐Ÿ“– Push Local Changes to Remote Beginner ๐Ÿ”— View
050 ๐Ÿ“– Rebase onto Another Branch Beginner ๐Ÿ”— View
051 ๐Ÿ“– Remove a File from the Last Commit Beginner ๐Ÿ”— View
052 ๐Ÿ“– Rename a Branch Beginner ๐Ÿ”— View
053 ๐Ÿ“– Rename Remote Branch Beginner ๐Ÿ”— View
054 ๐Ÿ“– Reset Local Master Branch to Match Remote Beginner ๐Ÿ”— View
055 ๐Ÿ“– Restore a Deleted File Beginner ๐Ÿ”— View
056 ๐Ÿ“– Reverting Git Commits: A Powerful Technique Beginner ๐Ÿ”— View
057 ๐Ÿ“– Rewind to a Specific Commit Beginner ๐Ÿ”— View
058 ๐Ÿ“– Create a Git Stash Beginner ๐Ÿ”— View
059 ๐Ÿ“– Set Default Push Branch Name Beginner ๐Ÿ”— View
060 ๐Ÿ“– Configure the git text editor Intermediate ๐Ÿ”— View
061 ๐Ÿ“– Sort Git Branches by Date Beginner ๐Ÿ”— View
062 ๐Ÿ“– Add Files to the Staging Area Beginner ๐Ÿ”— View
063 ๐Ÿ“– Switch to a Branch Beginner ๐Ÿ”— View
064 ๐Ÿ“– Return to Previous Branch Beginner ๐Ÿ”— View
065 ๐Ÿ“– Undo a Commit Beginner ๐Ÿ”— View
066 ๐Ÿ“– Undo the Last Commit Beginner ๐Ÿ”— View
067 ๐Ÿ“– Remove Files from the Staging Area Beginner ๐Ÿ”— View
068 ๐Ÿ“– Edit the Last Commit Beginner ๐Ÿ”— View
069 ๐Ÿ“– Change the Last Commit's Message Beginner ๐Ÿ”— View
070 ๐Ÿ“– View Local Branches Beginner ๐Ÿ”— View
071 ๐Ÿ“– View Changes Between Commits Beginner ๐Ÿ”— View
072 ๐Ÿ“– View a Visual Graph of the Repository Beginner ๐Ÿ”— View
073 ๐Ÿ“– View Commits by Author Beginner ๐Ÿ”— View
074 ๐Ÿ“– Find Commits that Manipulated a Specific String Beginner ๐Ÿ”— View
075 ๐Ÿ“– View Commits in a Specific Date Range Beginner ๐Ÿ”— View
076 ๐Ÿ“– View Git Commit Summary Excluding Merges Beginner ๐Ÿ”— View
077 ๐Ÿ“– View a Short Summary of Commits Beginner ๐Ÿ”— View
078 ๐Ÿ“– View Differences in Changes Beginner ๐Ÿ”— View
079 ๐Ÿ“– View Last Commit Beginner ๐Ÿ”— View
080 ๐Ÿ“– View Merged Branches Beginner ๐Ÿ”— View
081 ๐Ÿ“– View the Remote URL Beginner ๐Ÿ”— View
082 ๐Ÿ“– View Current Status Beginner ๐Ÿ”— View
083 ๐Ÿ“– View Undo History Beginner ๐Ÿ”— View
084 ๐Ÿ“– Git Branch Basic Operations Beginner ๐Ÿ”— View
085 ๐Ÿ“– Git Config Management Beginner ๐Ÿ”— View
086 ๐Ÿ“– Clone a Repository Beginner ๐Ÿ”— View
087 ๐Ÿ“– Working with Files and Staging Area Beginner ๐Ÿ”— View
088 ๐Ÿ“– Advanced Git Commit Operations Beginner ๐Ÿ”— View
089 ๐Ÿ“– Operation Quantum Leap Beginner ๐Ÿ”— View
090 ๐Ÿ“– Time Machine Identity Configuration Beginner ๐Ÿ”— View
091 ๐Ÿ“– The Time Traveler's Suitcase Beginner ๐Ÿ”— View
092 ๐Ÿ“– The Time Traveler's Dilemma Beginner ๐Ÿ”— View
093 ๐Ÿ“– Rewriting History Beginner ๐Ÿ”— View
094 ๐Ÿ“– The Time-Traveling Developer Beginner ๐Ÿ”— View
095 ๐Ÿ“– Git Switch vs Git Checkout Beginner ๐Ÿ”— View
096 ๐Ÿ“– Git Pull: Ignore Local Chang Beginner ๐Ÿ”— View
097 ๐Ÿ“– How to Undo and Remove a Specific Git Commit from Current Branch Beginner ๐Ÿ”— View
098 ๐Ÿ“– How to Ignore EXE Files in a Git Repository Using GitIgnore Beginner ๐Ÿ”— View
099 ๐Ÿ“– How to Remove Cached Files with Git Beginner ๐Ÿ”— View
100 ๐Ÿ“– How to View Your Git Username in Terminal Beginner ๐Ÿ”— View
101 ๐Ÿ“– How to Clone a Git Repository with Username and Password Authentication Beginner ๐Ÿ”— View
102 ๐Ÿ“– Resolving "Cannot Delete Branch Checked Out" Error in Git Beginner ๐Ÿ”— View
103 ๐Ÿ“– How to Resolve Git Branch Ahead of Origin Beginner ๐Ÿ”— View
104 ๐Ÿ“– How to check the current branch Beginner ๐Ÿ”— View
105 ๐Ÿ“– How to view the commit history of a remote Git branch Beginner ๐Ÿ”— View
106 ๐Ÿ“– How to revert a Git commit without losing changes Beginner ๐Ÿ”— View
107 ๐Ÿ“– How to check the status of Git submodules in a repository Beginner ๐Ÿ”— View
108 ๐Ÿ“– How to undo a git cherry-pick operation Beginner ๐Ÿ”— View
109 ๐Ÿ“– How to address 'error: Your local changes would be overwritten by merge' in Git Beginner ๐Ÿ”— View
110 ๐Ÿ“– How to fix 'fatal: unable to read config file' error in Git Beginner ๐Ÿ”— View
111 ๐Ÿ“– How to handle 'error: untracked working tree files would be overwritten by checkout' in Git Beginner ๐Ÿ”— View
112 ๐Ÿ“– How to resolve 'fatal: unable to auto-detect email address' error Beginner ๐Ÿ”— View
113 ๐Ÿ“– How to use git rm --cached to remove a file from the Git index Beginner ๐Ÿ”— View
114 ๐Ÿ“– How to address 'fatal: bad object HEAD' error Beginner ๐Ÿ”— View
115 ๐Ÿ“– How to View Changes in a Specific Git Commit Beginner ๐Ÿ”— View
116 ๐Ÿ“– How to handle Git connection timeouts Beginner ๐Ÿ”— View

More