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 votes

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 Join to answer
Community showcase
Brian Ganninger
Published Jan 23, 2018 in Sourcetree

Tip from the team: workflow and keyboard shortcuts

Supported Platforms macOS Sourcetree has a lot to offer and, like many developer tools, finding and using it all can be a challenge, especially for a new user. Everyone might not love ...

243 views 0 3
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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot