Can't disable remote tracking for out-of-sync local branch

I have a local branch named cache-transformations. that has diverged from its remote tracking branch as shown: 

$ git status
On branch cache-transformations
Your branch and 'vaio-vzome/cache-transformations' have diverged,
and have 1 and 1 different commits each, respectively.

I want to disable remote tracking for the cache-transformations branch. When I right click on it and select "Track remote branch >", all of the options are grayed out, presumably because it's the active branch, so I check out a different branch (master) and now the remote tracking branches for cache-transformations are no longer grayed out. I scroll to the bottom of the list and select "(None)", expecting to disable remote tracking for that branch, but instead, I get the following error:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch vaio-vzome cache-transformations:cache-transformations
From file://DHALLW7X64/Users/DHall\Documents/GitHub/vzome
! [rejected] cache-transformations -> cache-transformations (non-fast-forward)

If I perform the same operation on a different branch that is tracking a branch on the same remote, but is in sync, everything works as expected. I can disable and re-enable remote tracking on it.

If the remote computer (DHALLW7X64) is turned off when I issue the command, Sourcetree sits waiting, trying to find the unavailable remote until I cancel the command.

So I have a few questions:

  1. How can I disable remote tracking for the cache-transformations branch without syncing it to the remote first.
  2. Why is it even necessary to communicate with the remote repository before disabling remote tracking? Isn't that just a local configuration setting? What could I do if the remote was permanently out of service?
  3. Why are all of the remote tracking options (including "(None)") grayed out for  my active branch? Shouldn't "(None)" be always enabled, even for the active branch?

Note that the remote named vaio-vzome in this case is a shared folder on DHALLW7X64 which is another computer my local network. I don't think that has any bearing on the problem, but I thought it is worth mentioning since it's not a typical public http based git repo.

I'm running Sourcetree version on Windows 10. 

Thanks in advance for any suggestions.




1 answer

1 accepted

1 vote

Hi this looks like a bug, I've raised it here:

For now see the following instructions to do the same from the command line

Thanks Michael. I was able to disable the remote manually with these commands:

git config --unset branch.cache-transformations.remote
git config --unset branch.cache-transformations.merge

Now, when I look at the "Track remote branch >" sub-menu for the cache-transformations branch, all of the options are grayed out. Any idea why? Is it because it has diverged from the remote branch with the same name? They are all grayed out for the active branch too, but it's in sync with its remote. Is this a separate new bug?

Thanks again.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published May 30, 2018 in Sourcetree

Tip from the team: configuring Git or Mercurial in Sourcetree

Supported Platforms macOS Windows To make using Sourcetree as simple yet powerful as possible we embed (bundle) dependencies such as Git, Git LFS, and Mercurial. We strive to keep these...

567 views 1 2
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you