{"thread":{"id":"11024","subject":"(unknown)","startedAt":"2007-11-26T20:00:44Z","lastAt":"2007-11-26T20:00:44Z","messageCount":1,"participants":["Michael Dressel"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"60968","messageId":"Pine.LNX.4.64.0711262043450.4845@castor.milkiway.cos","threadId":"11024","inReplyTo":null,"subject":"(unknown)","fromName":"Michael Dressel","fromEmail":"michaeltilodressel@t-online.de","sentAt":"2007-11-26T20:00:44Z","receivedAt":"2007-11-26T20:00:44Z","isPatch":false,"sender":{"key":"michaeltilodressel@t-online.de","avatar":null},"body":"\n\n>On Mon, Nov 26, 2007 at 20:12:37 +0100, David Kastrup wrote:\n>> Jan Hudec <bulb@ucw.cz> writes:\n>> \n>> > On Mon, Nov 26, 2007 at 18:10:10 +0100, Benoit Sigoure wrote:\n>> >> On Nov 26, 2007, at 5:46 PM, Andy Parkins wrote:\n>> >> While we're discussing bad names, as someone already pointed out, I \nagree \n>> >> it's sad that \"git push\" is almost always understood as being the \nopposite \n>> >> of \"git pull\".\n>> >\n>> > Well, it is an oposite of pull. Compared to it, it is limited in that \nit will\n>> > not do a merge and on the other hand extended to *also* be an oposite \nof\n>> > fetch, but still oposite of pull is push.\n>> \n>> With the same reasoning the opposite of a duck is a lobster, since a\n>> lobster has not only fewer wings, but also more legs.\n>\n>No.\n>\n>The basic pull/push actions are:\n>\n>git pull: Bring the remote ref value here.\n>git push: Put the local ref value there.\n>\n>Are those not oposites?\n>\n>Than each command has it's different features on top of this -- pull \n>merges\n>and push can push multiple refs -- but in the basic operation they are\n>oposites.\n\n\nIn the case remote branches are used push and pull are not exactly \nopposite. Pull uses the remote branch and push does not.\n\n                                 .\n               LOCAL REPO        .       REMOTE REPO\n    .............................................................\n    a_local_branch ------------ push ------------->a_local_branch \n         ^                       .                       |\n         |                       .                       |\n         |                       .                       |\n       merge                     .                       |\n         |                       .                       |\n         |                       .                       |\n    a_remote_branch <----------fetch ---------------------\n                                 .\n\nCheers,\nMichael\n"}]}