Error map
unknown revision HEAD fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
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.
fatal: Not possible to fast-forward, aborting.
pull is configured to fast-forward only, but your branch and the remote have diverged.
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.
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: a branch named 'x' already exists
You tried to create a branch whose name is already taken locally.
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.
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.
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 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.
Two steps away (21)
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.
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.
fatal: unable to access 'https://github.com/…': Could not resolve host: github.com
DNS lookup for the Git host failed from this machine.
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.
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.
error: remote origin already exists.
A remote named origin is already configured.
remote: Repository not found. fatal: repository 'https://github.com/x/y.git/' not found
GitHub/GitLab says the repository doesn’t exist — or you lack access to a private repo.
! [remote rejected] main -> main (branch is currently checked out)
You pushed to a non-bare repository whose working tree has that branch checked out.
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.
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: couldn't find remote ref main
The branch you tried to pull/fetch doesn’t exist on the remote.
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.
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.
Azure AD (Entra ID): AADSTS700016 Application not found in the directory
The client ID in your sign-in request doesn’t exist in the tenant you’re authenticating against.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
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.
error: object file .git/objects/x is empty / fatal: loose object is corrupt
The local Git object database is corrupted — usually after a crash, disk full or sync tool interference.
warning: There are too many unreachable loose objects; run 'git prune' to remove them.
Git’s automatic garbage collection found many unreachable objects and is asking you to prune.
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.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException