删除从未推送的本地Git分支 - 也在服务器上删除它?

时间:2016-08-12 07:07:20

标签: git github push branch

我做了一个本地分支,但后来意识到我不需要它。

如果我从本地仓库中删除它,我是否也必须从遥控器中删除?我刚刚创建了那个分支,并没有添加,提交或推送任何东西 - 简而言之,我没有做任何事情。

5 个答案:

答案 0 :(得分:18)

如果您没有将分支推送到远程,您可以在本地简单地删除它:

git branch -d my_branch

注意:如果您没有将分支合并到其上游或当前分支中,git将拒绝删除分支,以免您丢失分支中的提交。如果您确定不需要提交,可以使用git branch -D my_branch强制删除。

您可以通过输入以下内容获得所有分支的概述:

git branch -a

这可能会提供如下内容:

*  master
   my_branch
   remotes/origin/master

*的分支是您当前的分支)

请注意,远程“origin”没有本地分支my_branch,因为您尚未推送它。即使您已在本地分支上添加并提交,也不会在远程(直到您推送它)。

如果您确实按了它,可以按照以下步骤将其从遥控器中删除:

git push origin :my_branch

答案 1 :(得分:2)

好像你来自SVN背景(虽然我不完全确定)。所以这里有一些观点。 1.在你推动它之前,在本地创建分支与遥控无关。

  1. 您提交的所有内容都将驻留在您的本地计算机上,只有您推送它才会转到远程。
  2. 如果您确定不再需要,可以继续删除本地分支。

    但是你想要仔细检查这个本地分支是否在remote上有引用然后在删除之后你可以运行git fetch然后通过执行命令git branch --all检查该分支是否仍然存在

答案 2 :(得分:0)

如果分支仅存在于您的本地环境中,则只需按以下步骤删除它;

获取所有本地分支机构;

git branch

输出就像;

* your_local_branch (which you want to delete)
  master

执行git checkout master

然后在本地删除它,

git branch -d your_local_branch

如果要删除远程分支(如果分支已被推送到git repo)

git push origin :your_local_branch (if it is pushed)

答案 3 :(得分:0)

您需要输入控制台

git branch -D myBranch

答案 4 :(得分:0)

如果您在尝试 git branch -d branchName 时遇到错误, 首先尝试取消本地的所有更改,然后结帐以掌握。并尝试使用 -D 选项强制删除分支。

git reset

git checkout master

git branch -D branchName