{
  "version": 1,
  "name": "Git essentials",
  "iconName": "terminal.fill",
  "colorID": "orange",
  "detail": "The commands you reach for every day",
  "cards": [
    {
      "title": "Start a new repository here",
      "concept": "Creates an empty repository in the current folder.",
      "code": "git init",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Copy a remote repository",
      "concept": "Downloads the full history and checks out the default branch.",
      "code": "git clone <url>",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "See what changed",
      "concept": "Shows modified, staged and untracked files.",
      "code": "git status",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Stage one file",
      "concept": "Adds the file to the next commit.",
      "code": "git add notes.md",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Stage only parts of a file",
      "concept": "Walks you through each change so you can pick hunks.",
      "code": "git add -p",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Commit what is staged",
      "concept": "Saves the snapshot with a message.",
      "code": "git commit -m \"Add login form\"",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Fix the last commit message",
      "concept": "Rewrites the most recent commit. Avoid it once pushed.",
      "code": "git commit --amend",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "List branches",
      "concept": "Shows local branches; the current one has a star.",
      "code": "git branch",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Create and switch to a branch",
      "concept": "Makes a branch and moves to it in one step.",
      "code": "git switch -c feature/search",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Switch to an existing branch",
      "concept": "Moves your working folder to that branch.",
      "code": "git switch main",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Merge a branch into the current one",
      "concept": "Joins the histories, making a merge commit when needed.",
      "code": "git merge feature/search",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Download without merging",
      "concept": "Updates your remote-tracking branches and changes nothing else.",
      "code": "git fetch",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Fetch and merge",
      "concept": "Brings in the remote's new commits and integrates them.",
      "code": "git pull",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Upload your commits",
      "concept": "Sends your branch to the remote.",
      "code": "git push origin main",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Publish a new branch",
      "concept": "Pushes it and remembers the remote branch for next time.",
      "code": "git push -u origin feature/search",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "See history, one line each",
      "concept": "A compact log that is easy to scan.",
      "code": "git log --oneline",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "See history as a graph",
      "concept": "Draws the branches and merges next to the commits.",
      "code": "git log --oneline --graph --all",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Compare unstaged changes",
      "concept": "Shows what changed since the last add or commit.",
      "code": "git diff",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Compare staged changes",
      "concept": "Shows exactly what the next commit will contain.",
      "code": "git diff --staged",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Unstage a file",
      "concept": "Takes it out of the next commit but keeps your edits.",
      "code": "git restore --staged notes.md",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Throw away edits in a file",
      "concept": "Resets it to the last commit. This cannot be undone.",
      "code": "git restore notes.md",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Undo a pushed commit safely",
      "concept": "Adds a new commit that reverses the old one, so history stays intact.",
      "code": "git revert <commit>",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Put work aside for a moment",
      "concept": "Saves your uncommitted changes and cleans the folder.",
      "code": "git stash",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Bring stashed work back",
      "concept": "Reapplies the latest stash and removes it from the list.",
      "code": "git stash pop",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Move commits on top of another branch",
      "concept": "Replays your commits for a linear history.",
      "code": "git rebase main",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Copy one commit to this branch",
      "concept": "Applies the change from a single commit.",
      "code": "git cherry-pick <commit>",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Tag a release",
      "concept": "Marks a commit with a name such as a version.",
      "code": "git tag v1.0.0",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    },
    {
      "title": "Who changed this line?",
      "concept": "Shows the author and commit for each line of a file.",
      "code": "git blame Package.swift",
      "languageID": "bash",
      "kindRaw": "code",
      "styleID": "",
      "notes": "",
      "colorID": "orange",
      "tags": []
    }
  ],
  "subfolders": []
}