git branch -D 不删除本地分支

git branch -D does not delete local branch

我最近在使用 GIT 时遇到了一些问题。在我的工作中,我们有一些用于开发、QA 等的分支……有时分支会被污染,所以我们必须重新设置它。我们这样做:

  1. 我们用git branch -D develop_branch
  2. 删除本地分支
  3. 我们通过 gitHub 接口删除远程分支。
  4. 我们用 git checkout -b develop_branch
  5. 创建一个新的本地分支
  6. 我们用git pull origin develop_branch
  7. 拉分支

此时此刻,旧代码来到了我们的新分支。 git删除分支可能需要一些时间?有什么方法可以确保分支被删除?

谢谢!!

检查远程分支是否被删除:

git branch -r 

将显示所有远程分支

删除远程分支不需要使用github接口,而是:

git push origin :develop_branch

(注意 local_branch_name 前的冒号:)

此外: 在你创建一个新的本地分支之后,像这样将它推送到 'copy' 它到远程:

git push --set-upstream origin newlocalbranch

即使删除了远程分支,您的 refs/remotes 中仍然有它的副本。将 --prune 添加到 git pull(或 git fetch)以自动删除源中不存在的本地远程引用。

  1. git branch -D develop_branch
  2. git push origin :develop_branch(或通过GitHub接口删除远程分支)
  3. git checkout -b develop_branch
  4. git pull --prune origin develop_branch