2012-10-20 48 views
1

我使用GIT来管理项目的源代码,使用本地SourceTree和BitBucket远程托管代码。我做了一个叫“MyFeature”的新分支。在某些时候,我重新命名了分支,比如说“features/MyFeature”,这样分支会更好地组织起来(我现在有比以前更多的分支)。但是,现在似乎在BitBucket上有两个分支 - “MyFeature”和“features/MyFeature”。有没有办法从BitBucket中删除旧分支,以便只有一个分支“features/MyFeature”?重命名分支的最佳方式是什么,以便分支名称在GIT存储库的不同签出中保持一致?重命名本地GIT分支不会更改'Origin'上的名称

回答

4

从远程,使用混帐推删除了一个分支:其他克隆的

git push origin :branch-to-delete 

用户必须重订其地方分支机构到改名分支。不幸的是,没有办法让分行名称自动同步。

+0

谢谢!完美工作。只要注意“:”实际上是必要的。 – Jason

+1

是的,冒号很重要。推入refspecs总是'local:remote' - 如果省略local,则删除remote。 – knittl

0

要重命名的本地和远程分支我用下面的命令:

git checkout <old_branch_name> # to switch on branch 
git branch -m <new_branch_name> # to rename local branch 
git push origin :<old_branch_name> # to delete old remote branch 
git branch --unset-upstream # to remove tracking from old remote branch 
git push --set-upstream origin <new_branch_name> # to push and create new remote branch