An upstream associates a local branch with a remote branch for later push and pull defaults. Having an origin remote does not automatically configure every new feature branch. Set the association explicitly on the first push and inspect the tracking value. The local branch and remote name may be different concepts even when their text looks related. These tasks require the requested branch to be active, published and connected to its correct upstream. A feature can be present on origin yet still have no configured upstream locally. The first push with -u records the association. Later default pushes use that association rather than guessing from a filename.