4 ms·
Usually, "refs" are things like branches or tags. A branch in git is just a text file that contains the hash of a commit (and that commit is the head of the bra
by phaemon 12y ago
Usually, "refs" are things like branches or tags. A branch in git is just a text file that contains the hash of a commit (and that commit is the head of the branch). So it's a "reference" (or "ref") to that commit.
"Objects" are the things that are stored in the repository, like commits and file contents.
> Updates remote refs using local refs
So, if you had a branch called "dev", and your local version pointed to a different commit than the remote version, it will update the remote "dev" to match what you've got in your local one.
> while sending objects necessary to complete the given refs.
Of course, it's likely that the whole reason that your "dev" doesn't match the remote repository's "dev" is because you've changed some stuff - why else would you be pushing? - so you've got to also upload the new commit objects that the refs refer to, plus the file-content objects that the commits specify. In other words, 'complete the given refs'.