我的存储库中有一个master和一个dev分支。我想从计算机中删除master分支,以免我不小心提交它(发生了..)。
这里有关于如何在本地和远程删除分支的问题,但是我还无法找出如何仅在本地删除分支的方法。
一个答案说使用这个:
git branch -d local_branch_name
但是我尝试过,分支仍然显示在GitHub应用程序中。
Deleted branch master (was e8a8e29).
我的存储库中有一个master和一个dev分支。我想从计算机中删除master分支,以免我不小心提交它(发生了..)。
这里有关于如何在本地和远程删除分支的问题,但是我还无法找出如何仅在本地删除分支的方法。
一个答案说使用这个:
git branch -d local_branch_name
但是我尝试过,分支仍然显示在GitHub应用程序中。
Deleted branch master (was e8a8e29).
Answers:
我认为(基于您的评论)我知道您想做什么:您希望存储库的本地副本既不具有普通的本地分支master
,也没有远程跟踪分支origin/master
,即使您克隆的存储库是github,都具有一个本地分支master
,你不希望从GitHub的版本中删除。
您可以通过在本地删除远程跟踪分支来做到这一点,但是每次您要求git将本地存储库与远程存储库同步时,它都会简单地返回,因为您的git会询问他们的git“您拥有哪些分支”,并且说“我有master
”,因此您的git(重新)会origin/master
为您创建,以便您的存储库具有他们的存储库。
要使用命令行界面在本地删除远程跟踪分支,请执行以下操作:
git branch -d -r origin/master
但是同样,它将重新进行重新同步。也可以(使用remote.origin.fetch
操纵)击败它,但最好是受到足够的训练以免master
在本地创建或修改。
$ git branch -D <branch_name>
[ 注 ]:
"-D"
是强制删除选项。
就我所能理解的原始问题而言, 您错误地将提交添加到本地主机 ,但尚未推送更改。现在,您要取消更改,并希望删除本地更改,并从远程分支中创建一个新的master分支。
您可以重置更改并从远程服务器重新加载主服务器:
git reset --hard origin/master
Windows的Github应用程序显示存储库的所有远程分支。如果您使用本地删除了分支$ git branch -d [branch_name]
,则远程分支仍然存在于您的Github存储库中,并且无论出现在Windows Github应用程序中都将出现。
如果您要完全删除分支(也要远程删除),请结合使用上述命令$ git push origin :[name_of_your_new_branch]
。警告:此命令将擦除所有现有分支,并可能导致代码丢失。请注意,我不认为这是您要执行的操作。
但是,每次删除本地分支更改时,远程分支仍会出现在应用程序中。如果不想继续进行更改,请忽略它,不要单击,否则可以克隆存储库。如果您还有其他疑问,请告诉我。
根据您的标签,我假设您正在使用Github。为什么不为您的主分支创建一些分支保护规则?这样,即使您确实尝试推动掌握,它也会拒绝它。
1)在Github上转到您的仓库中的“设置”标签。
2)点击左侧菜单中的“分支”。
3)点击“添加规则”
4)输入“ master”作为分支模式。
5)选中“合并前需要拉取请求评论”
我也建议对您的dev分支执行相同的操作。