On Wednesday, June 20, 2012 7:43:36 PM UTC+2, David Gerber wrote:
> Can anyone kind of go through each of these lines and describe what is 
> happening here.  Very interested 
> to know more details on this git pull.

A great question! I have to admit I stopped looking too closely at this 
output a long while ago, all the more reason to try explaining it properly 
now :)

> remote: Counting objects: 248, done.

Any message prefixed with "remote:" means it's coming from the remote 

The first thing it does it to count the number of objects in the repository 
that will have to be transferred: commits, blobs, trees and tags. 248 is 
the number of objects missing in your local repository, I believe.

If you want to find out more about these objects, try playing around with git 
count-objects -v in your repositories, before and after committing. 

Note that the object count differs between "loose" objects, and objects 
that have been compressed into "pack files" (think of it as zip files) for 

> remote: Compressing objects: 100% (70/70), done.

This is the remote compressing loose objects before transfer. I reckon 70 
is the number of loose objects that need to be transferred.

> remote: Total 140 (delta 104), reused 101 (delta 70)

Now here I'm getting a bit unsure. Git does a lot of optimization on making 
the transfer as fast as possible. Some of the compressions it has done are 
delta-compressed <http://en.wikipedia.org/wiki/Delta_encoding>, and I 
reckon that's what those delta objects are. I think *reused* means the 
contents that were already compressed into pack files on the remote side. 
Closest thing I could find to an explanation is 

> Receiving objects: 100% (140/140), 38.50 KiB, done.

This is just a progress counter during the transfer across the wire. The 
final 38.50 is the number of Kikibytes<http://en.wikipedia.org/wiki/Kibibyte> 
to Kilobytes) that was transferred.

> Resolving deltas: 100% (104/104), completed with 46 local objects.

Just the receiving end confirming the deltas mentioned above.

> From github.com:honest/www
>    7ed59c6..279f322  develop    -> origin/develop
>    ed1ef45..6859453  staging    -> origin/staging

This means that two remote branches (develop and staging) had changes, and 
that your *remote* branches have been updated with these changes (not your 
local branches).

> From github.com:site/www
>  * [new tag]         1.10rc1    -> 1.10rc1
>  * [new tag]         1.10rc2    -> 1.10rc2

And two new tags were discovered. 

Updating 7ed59c6..279f322

This is your current active branch (develop) being updated with the changes 
we saw earlier. Since you are pulling, and not simply fetching, the changes 
from the remote branch are being merged into your local branch (because 
your local branch 'develop' is set up to track the remote branch 

> Fast-forward

This means that your local branch has not diverged from origin/develop. In 
other words: you haven't made any local commits. The merge can therefore be 
fast-forwarded, playing the changes onto your local branch without doing a 
merge commit.

>  app/controllers/account/credit_cards_controller.rb |   25 +++++++++++++
>  db/schema.rb                                       |    2 +-

These are the changes in "stat" form (the same as doing git diff 
--stat 7ed59c6..279f322)

>  public/images/wrapper/banner2.png                  |  Bin 6958 -> 14332 
> bytes

Change in a binary file, cannot be expressed as line changes, so the change 
in size is printed instead.

>  19 files changed, 112 insertions(+), 53 deletions(-)

A summary of the changes that were made in your current branch.

>  create mode 100644 
> db/migrate/20120619231550_populate_addressable_columns_for_billing_addresses.rb

This is a notice on which of the changes files are actually new files.

I'd love if anyone else can elaborate even more on any of these, especially 
the number of objects being transferred.

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To view this discussion on the web visit 
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to