git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git push won't push to a local branch

From
Geoffrey Irving <irving@naml.us>
Date
May 4, 2008, 18:49 UTC
Message-ID
<7f9d599f0805041149w1955138crf269853196391e51@mail.gmail.com>
Hello,

There's an asymmetry between push and pull that seems unnecessary: pull can pull from local branches, but push can't push to them. Is there a reason for this asymmetry?

In more detail, if I have a working copy with two branches, local and master, I can use git pull to pull changes from master to local:

% git checkout local % git pull . master ... pulls changes from master to local branch

If I make a change in local and try to do the reverse with git push, it gives a confusing non-error message and doesn't do anything:

% git checkout local % git rm scratch/pcomm.h % git commit % git push . master Everything up-to-date

I can simulate the desired effect by switching to master and doing a pull.
% git checkout master
Switched to branch "master"
% git pull . local
Updating 0080774..7e8d678
Fast forward
 scratch/pcomm.h |  146 -------------------------------------------------------
 1 files changed, 0 insertions(+), 146 deletions(-)
 delete mode 100644 scratch/pcomm.h

I'd prefer not to have to switch my checkout to master to accomplish this, since I'll end up with a corrupted working copy if I push from somewhere else to master at the same time (I want to avoid multiple repository copies to save space).

Thanks, Geoffrey

Next: Björn Steinbrink
Message 1 of 3 in “git push won't push to a local branch”
  1. Geoffrey IrvingMay 4, 2008
  2. Björn SteinbrinkMay 4, 2008
  3. Geoffrey IrvingMay 4, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.