Error map
no upstream branch fatal: The current branch x has no upstream branch.
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)
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.
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.
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.
! [remote rejected] main -> main (shallow update not allowed)
You pushed from a shallow clone to a remote that doesn’t accept shallow history.
! [remote rejected] main -> main (branch is currently checked out)
You pushed to a non-bare repository whose working tree has that branch checked out.
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.
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.
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.
Two steps away (26)
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.
JWT Expired / Invalid Token
The JSON Web Token sent with the request is expired, malformed or signed with a different key, so the API rejects it (usually wit…
remote: Permission to owner/repo.git denied to github-actions[bot]. fatal: unable to access … The requested URL returned error: 403
A GitHub Actions workflow tried to push but the GITHUB_TOKEN doesn’t have write permission.
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.
CloudFormation: No updates are to be performed
You ran an update/deploy with a template and parameters identical to what’s deployed, so there’s nothing to change.
the input device is not a TTY
docker run/exec was called with -t (allocate a terminal) in a context with no terminal — CI, cron, a pipe or a script.
AADSTS70021: No matching federated identity record found for presented assertion (GitHub Actions / workload identity)
The OIDC token from GitHub Actions/Kubernetes/another IdP doesn’t match any federated credential on the app — issuer, subject or…
error: remote origin already exists.
A remote named origin is already configured.
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: 'origin' does not appear to be a git repository
No remote named origin is configured (or it points nowhere valid).
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: Not possible to fast-forward, aborting.
pull is configured to fast-forward only, but your branch and the remote have diverged.
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.
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.
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.
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.
ssh: connect to host github.com port 22: Connection timed out
Outbound SSH on port 22 is blocked (firewall, corporate or public Wi-Fi).
kex_exchange_identification: Connection closed by remote host
The SSH connection was closed before the handshake — server overload, rate limiting, or a proxy/firewall interfering.
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.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException