Pushing to GitHub

What a push actually sends, how deletions are handled, and what to do when GitHub has commits your project does not.

View as .md

Pushing sends your project's files to the linked repository as a commit.

What gets sent#

Only what changed. The push dialog compares your project against the repository and shows you the change set before anything happens - added, modified and deleted, by name.

Deletions travel. A file you removed in the project is removed in the commit. Earlier this was not true and a deleted file quietly stayed on GitHub - if you remember that behaviour, it has changed.

The commit message#

Pre-filled from what changed, and editable. It is a real commit message on a real repository, so it is worth a sentence if anyone else reads that history.

When GitHub is ahead#

If the repository has commits your project does not, the panel says so: "GitHub has commits this project doesn't."

Too large to compare#

On a big repository the panel may say it cannot compare, and that push sends everything. That is the honest warning rather than a guess: without a comparison it cannot show you a change set, so you are pushing your project's state as-is.

What a push does not do#

  • It does not pull. There is no sync back from GitHub into the project after the import.
  • It does not open a pull request. It commits to the branch you linked.
  • It does not run anything. Whatever CI you have on the repository is between GitHub and you.

Was this page helpful?

Last checked against the product on . Behaviour changes are listed in the changelog.