Can't disable remote tracking for out-of-sync local branch
Asked by David Hall:

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 2.4.7.0 on Windows 10.

Thanks in advance for any suggestions.


Answers:
author: minnsey
body: Hi this looks like a bug, I've raised it here: <https://jira.atlassian.com/browse/SRCTREEWIN-8314>  

For now see the following instructions to do the same from the command line <https://stackoverflow.com/a/3376017/1297975>

comments: author: David Hall
body: 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.