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

Re: Difference between pull --rebase and fetch+rebase

From
martinvz <martin.von.zweigbergk@gmail.com>
Date
Jan 7, 2010, 23:38 UTC
Message-ID
<1262907485376-4269422.post@n2.nabble.com>
In-Reply-To
<adf1fd3d1001071433j6cd36641sdd2dfd6a936d8483@mail.gmail.com>
Santi Béjar-2 wrote:
> 
> Is your upstream branch rebased?
> 

Sorry, but I'm not sure I understand what that means. Most of the commits in the upstream branch (the remote main branch) were rebased onto that branch at some point in time before being pushed to our shared repository. The remote branch itself was never rebased against any other branch (all destructive operations disallowed in Gitosis). I hope that (possibly along with the information below) answers your question.

Santi Béjar-2 wrote:
Show 5 quoted lines
> 
> 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.
> 
$ git log --graph --format=%h --all
* 2038a46 # topic-2
* a7b93b2
* f2501ae # origin/main
* cd5aaa9
* cb232f3
...
* 5ed0d06
* 3067862
| * 6eba2fa # topic-1
| * b09aaf4
| * bc3b72a
|/
| * 03d0d84 # topic-3
| * 5160773
| * 3c25642
|/
| * 6e9b12b # topic-4
| * 75f5ab2
| * bdd08ce
| * b5d5759
|/
* 486b580
* a021696
* 3ffe7df
* d0f55c5
...

I have topic-1 checked out and run "git pull" and expect it to rebase (only) commits bc3b72a, b09aaf4, 6eba2fa onto f2501ae, but it starts by applying a021696 and 486b580.

$ git reflog -g origin/main f2501ae refs/remotes/origin/main@{0}: fetch origin: fast forward 3ffe7df refs/remotes/origin/main@{1}: fetch origin: fast forward ...

I hope that's all that's all you need. It seems that the problem is that the oldremoteref gets overwritten with the entry from the reflog. Is the problem that 3ffe7df appears in the reflog or that 486b580 doesn't appear there? I'm not clear on what ends up in the reflog.

I just realized that I myself created a021696 and 486b580 (but not 3ffe7df), probably by rebasing some now-dead branch against origin/main.

Something else that may or may not have something to do with the problem is that there is also a branch called origin/main-stable (pointing to the same commit as origin/main). I also have a local main branch (also same commit as origin/main). I don't know if any of this could confuse Git. (To be perfectly honest, it is actually the origin/main-stable branch I'm trying to pull from, just in case you think the branch name could have any impact.)

Thanks, Martin

-- 
View this message in context: http://n2.nabble.com/Difference-between-pull-rebase-and-fetch-rebase-tp4266164p4269422.html
Sent from the git mailing list archive at Nabble.com.
Previous: Santi BéjarNext: Santi Béjar
Message 6 of 8 in “Difference between pull --rebase and fetch+rebase”
  1. martinvzJan 7, 2010
  2. martinvzJan 7, 2010
  3. Santi BéjarJan 7, 2010
  4. martinvzJan 7, 2010
  5. Santi BéjarJan 7, 2010
  6. martinvzJan 7, 2010
  7. Santi BéjarJan 8, 2010
  8. martinvzJan 8, 2010

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.