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

Re: confused about remote branch management

From
Chris Packham <judge.packham@gmail.com>
Date
Jul 23, 2014, 07:40 UTC
Message-ID
<53CF66D4.7060201@gmail.com>
In-Reply-To
<1406083743.29001.139.camel@localhost>
On 23/07/14 14:49, Ross Boylan wrote:
Show 61 quoted lines
> My local master branch is the result of a merge of upstream master and
> some local changes.  I want to merge in more recent upstream work.
> git pull doesn't seem to have updated origin/master, and git checkout
> origin/master also doesn't seem to work.
> 
> Here's some info that may be relevant.
> 
> 
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git remote -v
> origin	https://github.com/emacs-ess/ESS.git (fetch)
> origin	https://github.com/emacs-ess/ESS.git (push)
> personal	https://github.com/RossBoylan/ESS.git (fetch)
> personal	https://github.com/RossBoylan/ESS.git (push)
> # I think I originally cloned from what is now the "personal" remote
> # and switched names later so origin refers to upstream.
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git branch -v
> * master 8fa569c [ahead 340] merge from origin
> # 340 ahead of personal is plausible, but ahead from origin seems odd
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git --version
> git version 1.7.10.4
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git branch -a
> * master
>   remotes/origin/S+eldoc
>   remotes/origin/gretl
>   remotes/origin/linewise_callbacks
>   remotes/origin/litprog
>   remotes/origin/master
>   remotes/origin/transmissions
>   remotes/personal/HEAD -> personal/master
>   remotes/personal/S+eldoc
>   remotes/personal/gretl
>   remotes/personal/linewise_callbacks
>   remotes/personal/litprog
>   remotes/personal/master
>   remotes/personal/transmissions
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git status
> # On branch master
> # Your branch is ahead of 'personal/master' by 340 commits.
> #
> nothing to commit (working directory clean)
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git checkout origin/master
> Note: checking out 'origin/master'.
> 
> You are in 'detached HEAD' state. You can look around, make experimental
> changes and commit them, and you can discard any commits you make in
> this
> state without impacting any branches by performing another checkout.
> 
> If you want to create a new branch to retain commits you create, you may
> do so (now or later) by using -b with the checkout command again.
> Example:
> 
>   git checkout -b new_branch_name
> 
> HEAD is now at a33a2f9... Merge branch 'trunk'
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git checkout master
> Previous HEAD position was a33a2f9... Merge branch 'trunk'
> Switched to branch 'master'
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git pull origin master
> # [messages]
> Not committing merge; use 'git commit' to complete the merge.

I think this is the relevant message. By doing a git pull you are asking to merge the branch 'master' from the remote 'origin' into the current branch (which happens to also be called 'master').

What I'm guessing is in "# [messages]" is something about a merge conflict that needs resolving before the merge can be completed. There are various ways to resolve the conflict but probably the easiest would be

  git mergetool
  git commit

I personally use have merge.tool set to kdiff3 but there are plenty of other options.

Another option is to abort this attempt and try again (*warning* here be dragons).

  git checkout master
  git reset --hard HEAD
  git pull
Note: git uses some heuristics to determine what to merge when you don't
specify what to pull. This should be origin/master unless
branch.master.remote and branch.master.merge are set to something weird.
This probably won't do away with the need to resolve your merge
conflicts but at least you'll be starting from a clean slate.
Show 24 quoted lines
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git status
> # On branch master
> # Changes to be committed:
> # [long list]
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git show origin/master
> commit a33a2f9e06185a225af7d72ea3896cfd260e455e
> Merge: 136742f 6b22a88
> Author: Vitalie Spinu <spinuvit@gmail.com>
> Date:   Mon Jan 20 00:43:30 2014 -0800
> 
>     Merge branch 'trunk'
> # this was the head of origin/master BEFORE I did the pull.
> # I think this means it has not been updated.
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git commit -m "merge in
> upstream, probably fe7d609..8fa569c"
> [master 59f6841] merge in upstream, probably fe7d609..8fa569c
> ross@tempserver:~/UCSF/Choi/GitHub/ESS$ git show origin/master -v
> # no change
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
Previous: Ross BoylanNext: Ross Boylan
Message 2 of 9 in “confused about remote branch management”
  1. Ross BoylanJul 23, 2014
  2. Chris PackhamJul 23, 2014
  3. Ross BoylanJul 23, 2014
  4. Junio C HamanoJul 23, 2014
  5. Ross BoylanJul 23, 2014
  6. Junio C HamanoJul 23, 2014
  7. Ross BoylanJul 24, 2014
  8. KevinJul 23, 2014
  9. Ross BoylanJul 23, 2014

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.