Error map
branch exists fatal: a branch named 'x' already exists
Git · layer 7, Build & delivery
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
error: The following untracked working tree files would be overwritten by checkout/merge
Untracked local files have the same paths as files coming from the other branch.
fatal: No url found for submodule path 'x' in .gitmodules
A submodule entry exists in the index but its URL is missing from .gitmodules.
error: commit x is a merge but no -m option was given.
git revert or cherry-pick on a merge commit needs to know which parent is the mainline.
Git: ! [rejected] … (fetch first) — error: failed to push some refs
The remote branch has commits you don’t have locally, so Git refuses to overwrite them. Pull (merge or rebase) first, then push.
error: pathspec 'x' did not match any file(s) known to git
Git couldn’t find the file or branch name you referenced.
fatal: Not possible to fast-forward, aborting.
pull is configured to fast-forward only, but your branch and the remote have diverged.
error: cannot pull with rebase: You have unstaged changes. Please commit or stash them.
A rebase (or pull --rebase) needs a clean working tree.
fatal: The current branch x has no upstream branch.
The local branch isn’t linked to a remote branch yet, so a bare git push doesn’t know where to go.
fatal: Not a valid object name: 'main'.
The branch or commit doesn’t exist yet — typically in a new repo before the first commit.
You are in 'detached HEAD' state.
HEAD points at a commit instead of a branch, so new commits won’t belong to any branch.
error: src refspec main does not match any
You pushed a branch name that doesn’t exist locally — usually no commits yet, or the branch is called master not main.
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
The repository has no commits yet (or the ref doesn’t exist), so HEAD can’t be resolved.
Two steps away (20)
error: Your local changes to the following files would be overwritten by merge
git pull/merge would modify files you’ve changed but not committed.
fatal: Authentication failed for 'https://github.com/x/y.git/'
HTTPS authentication to the Git host failed — wrong or expired credentials, or a password used where a token is required.
error: cannot lock ref 'refs/remotes/origin/x': is at … but expected … / unable to update local ref
Git couldn’t update a reference — stale remote-tracking refs, case-only branch name clashes, or a leftover lock file.
fatal: unable to access 'https://github.com/…': Could not resolve host: github.com
DNS lookup for the Git host failed from this machine.
Error downloading object: x: Smudge error / This repository is over its data quota
Git LFS couldn’t download a large file — missing LFS install, auth problems, or the LFS bandwidth/storage quota is exhausted.
Git: CONFLICT (content): Merge conflict in file — Automatic merge failed
Both branches changed the same lines; Git needs you to choose the final content before completing the merge/rebase.
Git: Permission denied (publickey). fatal: Could not read from remote repository.
SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.
Git: fatal: refusing to merge unrelated histories
The two branches have no common ancestor — typically a local repo and a remote that were both initialized separately.
error: unable to create file x: Filename too long (Windows)
Windows’ 260-character path limit blocked Git from creating a file.
fatal: couldn't find remote ref main
The branch you tried to pull/fetch doesn’t exist on the remote.
npm ERR! enoent ENOENT: no such file or directory, open '/path/package.json'
npm ran in a directory without a package.json.
hint: You have divergent branches and need to specify how to reconcile them.
Git 2.27+ asks you to choose merge, rebase or fast-forward-only when local and remote both have new commits.
fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.
A merge is still in progress — conflicts were resolved (or not) but not committed.
fatal: It seems that there is already a rebase-merge directory, and I wonder if you are in the middle of another rebase.
A previous rebase is still in progress (or was interrupted).
error: Your local changes to the following files would be overwritten by checkout
Switching branches would discard uncommitted changes in files that differ between branches.
error: RPC failed; HTTP 400 curl 22 / curl 92 HTTP/2 stream was not closed cleanly — the remote end hung up unexpectedly
A large HTTPS push/clone broke mid-transfer — size limits, proxies or flaky HTTP/2.
remote: error: GH001: Large files detected. File x is 120 MB; this exceeds GitHub's file size limit of 100.00 MB
GitHub rejected the push because a file over 100 MB is in your commits — even if you deleted it later.
remote: error: GH006: Protected branch update failed / pre-receive hook declined
The server rejected your push because of branch protection rules or a server-side hook.
denied: requested access to the resource is denied (docker push)
You’re logged in, but not allowed to push to that repository — usually the image isn’t tagged with your own username/organisation.
fatal: Unable to create '.git/index.lock': File exists. Another git process seems to be running in this repository
A lock file from another (or crashed) Git process blocks this command.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException