So, to delete the remote branch AND locally-stored remote-tracking branch in one command, just use git push origin --delete <branch> . Then, you just need to delete the local branch with git branch -D branch . That covers the deletion of all 3 branches with only 2 commands.
Unlike local branches, you can't delete a remote branch using the git branch command. However, you need to use the git push --delete command, followed by the name of the branch you want to delete.
$ git branch -D <branch-name>
[NOTE]:
-D
is a shortcut for --delete --force
.
I think (based on your comments) that I understand what you want to do: you want your local copy of the repository to have neither the ordinary local branch master
, nor the remote-tracking branch origin/master
, even though the repository you cloned—the github one—has a local branch master
that you do not want deleted from the github version.
You can do this by deleting the remote-tracking branch locally, but it will simply come back every time you ask your git to synchronize your local repository with the remote repository, because your git asks their git "what branches do you have" and it says "I have master
" so your git (re)creates origin/master
for you, so that your repository has what theirs has.
To delete your remote-tracking branch locally using the command line interface:
git branch -d -r origin/master
but again, it will just come back on re-synchronizations. It is possible to defeat this as well (using remote.origin.fetch
manipulation), but you're probably better off just being disciplined enough to not create or modify master
locally.
As far I can understand the original problem, you added commits to local master by mistake and did not push that changes yet. Now you want to cancel your changes and hope to delete your local changes and to create a new master branch from the remote one.
You can just reset your changes and reload master from remote server:
git reset --hard origin/master
The Github application for Windows shows all remote branches of a repository. If you have deleted the branch locally with $ git branch -d [branch_name]
, the remote branch still exists in your Github repository and will appear regardless in the Windows Github application.
If you want to delete the branch completely (remotely as well), use the above command in combination with $ git push origin :[name_of_your_new_branch]
. Warning: this command erases all existing branches and may cause loss of code. Be careful, I do not think this is what you are trying to do.
However every time you delete the local branch changes, the remote branch will still appear in the application. If you do not want to keep making changes, just ignore it and do not click, otherwise you may clone the repository. If you had any more questions, please let me know.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With