Sure, if you insist: ``` I ~/c/database-sandbox main ↑1 ❱ git fetch I ~/c/database-sandbox main ↑1 3.3s ❱ git log --graph --oneline --decorate main github/main -n 3 * b73d3e1 (HEAD -> main) init activity api * d370bf2 (github/main) refactor partitioning migration * 5124511 wip pg I ~/c/database-sandbox main ↑1 ❱ git status On branch main Your branch is ahead of 'github/main' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean I ~/c/database-sandbox main ↑1 ❱ ``` I did some more investigation: ``` I ~/c/database-sandbox main ↑1 ❱ git pull --ff-only fatal: Not possible to fast-forward, aborting. I ~/c/database-sandbox main ↑1 3.4s [128] git pull --ff Already up to date. I ~/c/database-sandbox main ↑1 3.3s ❱ git pull hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. fatal: Need to specify how to reconcile divergent branches. I ~/c/database-sandbox main ↑1 3.3s [128] ``` As you can see above: - `pull --ff-only` aborts with "Not possible to fast-forward" error - `pull --ff` succeeds with "Already up to date." - `pull` only (unspecified `--ff`) aborts with "divergent branches" The --ff-only case was recently fixed by https://github.com/git/git/commit/361cb52383fb986f76a34506bdec9a1dd11133f0 The unspecified `--ff` is the bug that I encounter and I have started a fix here: https://github.com/git/git/compare/master...erwinv:master Best regards, Erwin On Tue, Nov 16, 2021 at 1:15 AM Bryan Turner <bturner@xxxxxxxxxxxxx> wrote: > > On Mon, Nov 15, 2021 at 1:40 AM Erwin Villejo <erwinvillejo@xxxxxxxxx> wrote: > > > > $ git log main github/main --graph --decorate -n 3 > > * commit b73d3e132f9638afbf5b98b0c278ed6b93a3ae50 (HEAD -> main) > > | Author: Erwin Villejo <erwin.villejo@xxxxxxxxx> > > | Date: Mon Nov 15 15:22:53 2021 +0700 > > | > > | init activity api > > | > > * commit d370bf256a756a777c14609c8ad4184aa7e9e60f (github/main) > > | Author: Erwin Villejo <erwin.villejo@xxxxxxxxx> > > | Date: Sat Nov 13 19:18:45 2021 +0700 > > | > > | refactor partitioning migration > > | > > * commit 5124511d287f1a6c384ff9766fdcc0e3e07043e8 > > | Author: Erwin Villejo <erwin.villejo@xxxxxxxxx> > > | Date: Mon Nov 8 17:24:19 2021 +0700 > > | > > | wip pg > > > > $ git remote -v > > github git@xxxxxxxxxx:erwinv/database-sandbox.git (fetch) > > github git@xxxxxxxxxx:erwinv/database-sandbox.git (push) > > > > Link to the [upstream branch on > > GitHub](https://github.com/erwinv/database-sandbox/commits/main) so > > you could see for yourself that my local is ahead of upstream and that > > the upstream has no commits ahead of local. > > Certainly looks "ahead". There _has_ been at least one confirmed bug > in 2.33 related to how "ahead" is handled[1], but it doesn't seem like > it's related to what you're seeing here. The "git pull" output > suggests you don't have "pull.ff=only" set. > > Are you able to pull down either Git 2.32 or the just-released Git > 2.34 and try one of those? > My suggestion to try "git fetch" could still also be useful, to see if > your "git status" output changes. > > [1] https://lore.kernel.org/git/CH2PR06MB650424B4205102AC6A48F489B1BD9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > > > > > Best regards, > > Erwin > > > > > > On Mon, Nov 15, 2021 at 4:19 PM Erwin Villejo <erwinvillejo@xxxxxxxxx> wrote: > > > > > > > the remote mainline have three commits ahead > > > Where did you get this info? This is not true in my case. > > > > > > * local is ahead of upstream. confirmed by `git status`: > > > > > > ``` > > > $ git status > > > On branch main > > > Your branch is ahead of 'github/main' by 1 commit. > > > (use "git push" to publish your local commits) > > > ``` > > > > > > If remote was ahead, `git status` would say so. And this is my > > > personal repo in GitHub with only me as the sole developer/contributor > > > so I can assure you that the upstream has no commits ahead of my > > > local. > > > > > > Best regards, > > > Erwin > > > > > > On Mon, Nov 15, 2021 at 4:12 PM Bagas Sanjaya <bagasdotme@xxxxxxxxx> wrote: > > > > > > > > On 15/11/21 15.56, Erwin Villejo wrote: > > > > > There is nothing to reconcile since the branches have not diverged: > > > > > local is ahead of upstream. So I think it is a bug, no? > > > > > > > > You have the situation like: > > > > > > > > ---o---a (your mainline) > > > > \ > > > > b---c---d (remote mainline) > > > > > > > > Your mainline only have one commit ahead of base point `o`, while the remote > > > > mainline have three commits ahead of `o` but unrelated. In this sense, your and > > > > remote mainline is divergent - you need to either merge or rebase. > > > > > > > > Next time, keep your mainline pristine (don't commit any local changes on it, > > > > instead branch to the topic branch and commit there). > > > > > > > > -- > > > > An old man doll... just what I always wanted! - Clara