From: Santi Béjar Date: Thu, 07 Jan 2010 22:33:23 GMT Subject: Re: Difference between pull --rebase and fetch+rebase Message-ID: In-Reply-To: <1262889864880-4268064.post@n2.nabble.com> [Do not top post, as it breaks the conversation flow] On Thu, Jan 7, 2010 at 7:44 PM, martinvz wrote: > > Thanks for your post, Santi. I can not share my repository since it is a > project at work. I was troubleshooting a bit myself and found the following > section in git-pull.sh: > >        oldremoteref="$(git rev-parse -q --verify "$remoteref")" && >        for reflog in $(git rev-list -g $remoteref 2>/dev/null) >        do >                if test "$reflog" = "$(git merge-base $reflog $curr_branch)" >                then >                        oldremoteref="$reflog" >                        break >                fi >        done > > Why is it that reflog entries are allowed to override the remote reference? This is used when the upstream branch is rebased, as you only want to rebase the local commits and not commits in the old upstream branch. Is your upstream branch rebased? Can you provide, at least, a graph of your history (ala git log --graph --oneline for example)? And plot also the reflog entries and all the important commits. Santi