从GitHub删除分支的仓库


635

我先从git和GitHub开始,然后在GitHub上观看一个项目。我无意间点击了它。现在,它对我来说是一个新项目。

我对此有些怀疑:

  • 我知道如果对派生的仓库进行提交或做其他事情,它将被更新,但是更新的代码仅在项目的作者请求拉动之后才生效。对?
  • 如果我转到GitHub上的管理面板,则有一个删除选项。如果将其作为上述选项删除,它是否会对原始文​​件生效?

我想删除它。到目前为止,我只是在研究代码,实际上并不需要分叉。


23
要阐明有关拉取请求的术语:您进行更改,并要求作者将该更改拉入其存储库。您请求,并且作者
道格拉斯山

Answers:


313

删除它对原始项目无济于事。编辑它只会在回购页面上编辑您的fork。


114
如果您可以通过分叉然后删除分支来影响他人的项目,那将是可怕的安全漏洞。
基思·汤普森

10
如果原始项目被删除会怎样?我的叉子还能用吗?它也被删除吗?
2014年

12
@unmircea是的,您的fork仍然可以使用:它将无法合并“上游”。
主教

11
我知道了。再快一个问题。当我分叉项目时,更新初始项目时会发生什么,依此类推。它会自动流向下游吗?
unom 2014年

10
@unmircea不,您已经撤消了原始项目的更改
Conner

1151

到目前为止,最简单的方法是登录gitHub帐户:

  1. 例如yourUsername/yourRepository,单击到您的存储库mbaric/zpropertyz
  2. 然后在github的主工具栏中单击设置
  3. 滚动到页面底部到危险区域,您将找到删除此存储库按钮
  4. 当您单击它时将在此处显示另一个弹出窗口,您需要以这种格式键入github用户名和存储库名称,gitHubUsername/nameOfTheRepository然后单击下面的按钮,其中说:我理解后果,删除存储库
  5. 如果您在执行此操作时遇到困难,请检查以下图像...

2020-01-15-这是图像。请享用。 GHD1


GHD2
GHD3
GHD4




1
好的指示,仅在github中找不到删除选项!(我没有检查屏幕快照是否正确,文字描述清晰且易于更新)
danio

如何删除在任何提交中创建的补丁分支?最初我只有一个主服务器,现在我看到有多个分支,例如patch-1,patch-2等。我不想删除整个存储库,而只删除除master分支以外的分支。
RBT

1
嗨@RBT。在本地仓库git fetch --allgit pull -all主分支上执行,然后对每个分支执行git push origin --delete <branch_name>此操作将删除您的远程分支。让我知道您是否需要更多帮助。
Matija


12

删除分叉的存储库不会有任何危害。您可以再次分叉。它不会更改原始代码。流程是这样的...

1)您分叉一个存储库。只需将其视为可以访问或进行更改的另一个代码副本即可。该存储库的url的格式为https://github.com/your-user-name/original-repo

2)您在本地计算机上进行了一些更改,然后将其推送。现在,您创建的副本将被更新,但不会更新您从中分叉仓库的原始副本。

3)如果要将添加到叉式仓库中的更改应用于原始仓库(这可能对组织仓库的人员有所帮助),则必须创建一个pull request可以通过UI进行的操作。然后,如果他们喜欢您的贡献,那么他们将merge使用自己的代码。

通常,这就是开源组织所做的。


9

甜美而简单:

  1. 打开仓库
  2. 导航到设置
  3. 滚动到页面底部
  4. 点击删除
  5. 确认要删除的存储库名称
  6. 点击删除




3

答案是否定的。它不会影响您从中分叉的原始/主存储库。(从功能上讲,如果将这种访问权限提供给非所有者,则将是不正确的)。

只是想添加此。

警告:它将删除您在分叉存储库上创建的本地提交和分支。因此,如果重要,请在删除之前确保随身携带该代码的备份。

最好的方法是使用以下命令获取分叉仓库的git备份:

git bundle 

或其他熟悉的方法。


1

不,它不会影响您的原始存储库,只需确保存储库地址看起来像“ youGitName / TheRepository”,而不是“ OtherPersonGitName / TheRepo”即可。


0

我也遇到过这个问题。不,无论如何它不会影响您的原始回购。只需输入分叉的仓库名称即可将其删除


0

有多个答案指出,编辑/删除分支不会影响原始存储库。这些答案是正确的。我将尝试在该答案中添加一些内容,并解释其原因。

分支只是具有分支关系的存储库的副本。

由于您可以将文件或目录本地复制到另一个位置并删除副本,因此不会影响原始文件。

Fork关系意味着,您可以轻松地告诉github,它应该从您的fork向原始存储库发送拉请求(带有您的更改),因为github知道您的存储库是原始存储库的副本(双方都有一些更改) )。

仅出于任何主体信息,拉取请求(或合并请求)包含已在fork中更改的代码,并已提交给原始存储库。原始存储库中具有推/写访问权限的用户(在其他git服务器中可能有所不同)被允许将拉取请求的更改合并到原始存储库中(将PR的更改复制到原始存储库中)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.