version: "1.0" description: Git command patterns patterns: - name: git_init description: Initialize a new git repository patterns: - initialize git - start git repo - git init template: git init explanation: Initializes a new Git repository in the current directory. - name: git_clone description: Clone a repository patterns: - clone repository - clone repo - git clone template: git clone {url} explanation: Clones a remote repository to the local machine. - name: git_clone_branch description: Clone a specific branch patterns: - clone branch - git clone branch template: git clone -b {branch} {url} explanation: Clones a specific branch from a repository. - name: git_status description: Show working tree status patterns: - git status - check status - show changes template: git status explanation: Shows the current status of the working directory. - name: git_add description: Add file contents to index patterns: - add file - stage file - git add template: git add {file} explanation: Adds file contents to the staging area. - name: git_add_all description: Add all changes to index patterns: - add all - stage all - git add . template: git add . explanation: Adds all changes to the staging area. - name: git_add_pattern description: Add files matching pattern patterns: - add pattern - git add glob template: git add '{pattern}' explanation: Adds all files matching the glob pattern. - name: git_commit description: Commit changes patterns: - commit changes - make commit - git commit template: git commit -m "{message}" explanation: Records changes in the repository with a message. - name: git_commit_amend description: Amend last commit patterns: - amend commit - modify last commit - git commit --amend template: git commit --amend -m "{message}" explanation: Modifies the last commit with new changes or message. - name: git_commit_amend_no_msg description: Amend last commit without changing message patterns: - amend without message - git commit amend template: git commit --amend --no-edit explanation: Adds changes to the last commit without changing the message. - name: git_push description: Push changes to remote patterns: - push changes - git push template: git push origin {branch} explanation: Pushes commits to the remote repository. - name: git_push_tags description: Push tags to remote patterns: - push tags - git push tags template: git push origin --tags explanation: Pushes all tags to the remote repository. - name: git_push_force description: Force push changes patterns: - force push - overwrite remote - git push --force template: git push --force origin {branch} explanation: Force pushes changes, overwriting remote history. - name: git_pull description: Fetch and integrate changes patterns: - pull changes - git pull template: git pull origin {branch} explanation: Fetches and merges changes from remote. - name: git_pull_rebase description: Pull with rebase patterns: - pull with rebase - git pull rebase template: git pull --rebase origin {branch} explanation: Fetches and rebases changes on top of local commits. - name: git_fetch description: Fetch remote changes patterns: - fetch changes - git fetch template: git fetch origin explanation: Fetches changes from remote without merging. - name: git_fetch_all description: Fetch from all remotes patterns: - fetch all - git fetch --all template: git fetch --all explanation: Fetches changes from all remotes. - name: git_branch description: List branches patterns: - list branches - show branches - git branch template: git branch explanation: Lists all local branches. - name: git_branch_remote description: List remote branches patterns: - remote branches - git branch -r template: git branch -r explanation: Lists all remote branches. - name: git_branch_all description: List all branches patterns: - all branches - git branch -a template: git branch -a explanation: Lists all local and remote branches. - name: git_checkout description: Switch to a branch patterns: - switch branch - checkout branch - git checkout template: git checkout {branch} explanation: Switches to the specified branch. - name: git_checkout_new description: Create and switch to new branch patterns: - create branch - new branch - git checkout -b template: git checkout -b {branch} explanation: Creates a new branch and switches to it. - name: git_checkout_file description: Discard changes to a file patterns: - discard file changes - checkout file - git checkout -- file template: git checkout -- {file} explanation: Discards local changes to a file. - name: git_merge description: Merge a branch patterns: - merge branch - git merge template: git merge {branch} explanation: Merges the specified branch into current branch. - name: git_merge_no_ff description: Merge with no fast-forward patterns: - merge no fast forward - git merge --no-ff template: git merge --no-ff {branch} explanation: Creates a merge commit even if fast-forward is possible. - name: git_merge_abort description: Abort merge patterns: - abort merge - git merge --abort template: git merge --abort explanation: Aborts the current merge. - name: git_rebase description: Rebase onto a branch patterns: - rebase - git rebase template: git rebase {branch} explanation: Rebases current branch onto the specified branch. - name: git_rebase_interactive description: Interactive rebase patterns: - interactive rebase - git rebase -i template: git rebase -i {commit} explanation: Starts an interactive rebase to edit commits. - name: git_rebase_continue description: Continue rebase patterns: - continue rebase - git rebase --continue template: git rebase --continue explanation: Continues rebase after resolving conflicts. - name: git_rebase_abort description: Abort rebase patterns: - abort rebase - git rebase --abort template: git rebase --abort explanation: Aborts the current rebase. - name: git_log description: Show commit history patterns: - show history - git log template: git log --oneline explanation: Shows commit history in a compact format. - name: git_log_detailed description: Show detailed commit history patterns: - detailed log - git log full template: git log explanation: Shows detailed commit history. - name: git_log_graph description: Show commit history with graph patterns: - graph log - git log graph template: git log --oneline --graph --all explanation: Shows commit history with a text-based graph. - name: git_log_stat description: Show commit history with stats patterns: - log with stats - git log --stat template: git log --stat explanation: Shows commit history with file change statistics. - name: git_diff description: Show changes between commits patterns: - show diff - git diff template: git diff explanation: Shows uncommitted changes. - name: git_diff_staged description: Show staged changes patterns: - staged diff - git diff --cached template: git diff --cached explanation: Shows staged changes in the index. - name: git_diff_branch description: Compare branches patterns: - diff branches - compare branches template: git diff {branch1} {branch2} explanation: Shows differences between two branches. - name: git_show description: Show a commit patterns: - show commit - git show template: git show {commit} explanation: Shows details of a specific commit. - name: git_stash description: Stash changes patterns: - stash changes - git stash template: git stash explanation: Temporarily shelves changes. - name: git_stash_save description: Stash changes with message patterns: - stash with message - git stash save template: git stash save "{message}" explanation: Stashes changes with a descriptive message. - name: git_stash_list description: List stashed changes patterns: - stash list - git stash list template: git stash list explanation: Lists all stashed changes. - name: git_stash_pop description: Apply and remove stashed changes patterns: - stash pop - git stash pop template: git stash pop explanation: Applies stashed changes and removes from stash. - name: git_stash_apply description: Apply stashed changes patterns: - stash apply - git stash apply template: git stash apply explanation: Applies stashed changes without removing them. - name: git_stash_drop description: Drop a stash patterns: - drop stash - git stash drop template: git stash drop explanation: Removes a stashed change. - name: git_tag description: Create a tag patterns: - create tag - git tag template: git tag {tag_name} explanation: Creates a tag at the current commit. - name: git_tag_annotated description: Create an annotated tag patterns: - annotated tag - git tag -a template: git tag -a {tag_name} -m "{message}" explanation: Creates an annotated tag with a message. - name: git_tag_delete description: Delete a tag patterns: - delete tag - git tag -d template: git tag -d {tag_name} explanation: Deletes a local tag. - name: git_remote_add description: Add a remote patterns: - add remote - git remote add template: git remote add origin {url} explanation: Adds a new remote repository. - name: git_remote_remove description: Remove a remote patterns: - remove remote - git remote remove template: git remote remove origin explanation: Removes a remote repository. - name: git_remote_set_url description: Change remote URL patterns: - set remote url - git remote set-url template: git remote set-url origin {url} explanation: Changes the URL of a remote. - name: git_remote_show description: Show remote details patterns: - show remote - git remote -v template: git remote -v explanation: Shows remote URLs with names. - name: git_clean description: Remove untracked files patterns: - clean untracked - git clean template: git clean -fd explanation: Removes untracked files and directories. - name: git_reset description: Reset current HEAD patterns: - reset head - git reset template: git reset HEAD explanation: Unstages changes but keeps them. - name: git_reset_hard description: Hard reset to commit patterns: - hard reset - git reset --hard template: git reset --hard {commit} explanation: Resets to a commit, discarding all changes. - name: git_reset_soft description: Soft reset to commit patterns: - soft reset - git reset --soft template: git reset --soft {commit} explanation: Resets to a commit but keeps changes staged. - name: git_config_global description: Set global git config patterns: - set git config - git config global template: git config --global {key} "{value}" explanation: Sets a global Git configuration value. - name: git_config_local description: Set local git config patterns: - set local config - git config local template: git config --local {key} "{value}" explanation: Sets a local Git configuration value. - name: git_config_show description: Show git config patterns: - show git config - git config list template: git config --list explanation: Lists all Git configuration settings. - name: git_grep description: Search for a pattern patterns: - search code - git grep template: git grep "{pattern}" explanation: Searches for a pattern in tracked files. - name: git_blame description: Show blame for a file patterns: - blame file - git blame template: git blame {file} explanation: Shows who modified each line of a file. - name: git_cherry_pick description: Apply a commit patterns: - cherry pick - git cherry-pick template: git cherry-pick {commit} explanation: Applies the changes from a specific commit. - name: git_bisect_start description: Start bisect session patterns: - start bisect - git bisect template: git bisect start explanation: Starts a binary search for bugs. - name: git_bisect_good description: Mark commit as good patterns: - mark good - git bisect good template: git bisect good explanation: Marks the current commit as good for bisect. - name: git_bisect_bad description: Mark commit as bad patterns: - mark bad - git bisect bad template: git bisect bad explanation: Marks the current commit as bad for bisect. - name: git_bisect_reset description: Reset bisect patterns: - reset bisect - git bisect reset template: git bisect reset explanation: Resets the bisect session. - name: git_submodule_add description: Add a submodule patterns: - add submodule - git submodule add template: git submodule add {url} {path} explanation: Adds a Git repository as a submodule. - name: git_submodule_update description: Update submodules patterns: - update submodules - git submodule update template: git submodule update --init --recursive explanation: Initializes and updates all submodules. - name: git_submodule_status description: Check submodule status patterns: - submodule status - git submodule status template: git submodule status explanation: Shows the status of submodules.