Pushing to GitHub
What a push actually sends, how deletions are handled, and what to do when GitHub has commits your project does not.
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?