git branch -D不删除本地分支

时间:2015-06-26 16:43:02

标签: git github version-control

我最近一直在面对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删除分支可能需要一些时间?有一种方法可以确保删除分支吗?

    谢谢!

2 个答案:

答案 0 :(得分:3)

即使删除了远程分支,您仍然可以在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

答案 1 :(得分:0)

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

git branch -r 

将显示所有远程分支

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

git push origin :develop_branch

(注意冒号:在local_branch_name之前)

另外: 在您创建一个新的本地分支后,按这样推送它来复制'它到远程:

git push --set-upstream origin newlocalbranch