66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
---
|
||
title: Delete a Git Branch Both Locally and Remotely
|
||
localeTitle: 本地和远程删除Git分支
|
||
---
|
||
//本地((如果你知道你在做什么!) git branch -d localBranchName
|
||
```
|
||
// and then if you need to...
|
||
// on remote
|
||
git push origin :remoteBranchName
|
||
```
|
||
|
||
## 何时删除分支?
|
||
|
||
通常在贡献流中, `Branches`是处理不同功能,修复等的好方法,同时将它们与主代码库隔离开来。因此,回购可能有一个`master`分支,并且可以使用不同的分支来处理不同的功能。
|
||
|
||
通常,在功能上完成工作后,建议删除分支。
|
||
|
||
## 删除工作流程:
|
||
|
||
假设您有一个名为`AwesomeRepo` ,它在Github上托管,位于`https://github.com/my_username/AwesomeRepo` 。
|
||
|
||
还假设它具有如下分支:
|
||
`master`
|
||
`feature/some-cool-new-stuff`
|
||
`fix/authentication`
|
||
`staging`
|
||
|
||
为了保持一致性,我们假设分支名称在`local`和`remote`上都是相同的。
|
||
|
||
现在,假设您已完成该身份验证修复,并希望删除分支`fix/authentication` 。
|
||
|
||
## 删除分支REMOTELY:
|
||
|
||
简单地说:
|
||
|
||
`git push --delete <remote> <branch>` 。
|
||
|
||
例如: `git branch --delete origin fix/authentication`
|
||
|
||
如果你收到错误
|
||
```
|
||
error: unable to push to unqualified destination: remoteBranchName The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to 'git@repository_name'
|
||
```
|
||
|
||
也许其他人已经删除了分支。尝试使用同步您的分支列表
|
||
```
|
||
git fetch -p
|
||
```
|
||
|
||
git手册说-p, - prune取出后,删除遥控器上不再存在的任何远程跟踪分支。
|
||
|
||
## 删除分支LOCALLY:
|
||
|
||
首先结帐到您要删除的分支的其他分支:
|
||
|
||
`git checkout <branch>` 。
|
||
|
||
例如: `git checkout master`
|
||
|
||
Git不会让你删除你当前所在的分支。
|
||
|
||
然后继续删除:
|
||
|
||
`git branch -D <branch>` 。
|
||
|
||
例如: `git branch -D fix/authentication` |