您的主分支未受保护。

11 浏览
0 Comments

您的主分支未受保护。

在运行了一系列尝试创建和删除标签和分支的命令之后,我看到了下面的内容。这是什么,我应该如何处理它?(编辑掉了后来证明无关的内容)

0
0 Comments

问题原因:Git没有保护分支的概念,这是GitHub/GitLab等平台的概念。如果你想要保护分支,只需点击“Protect this branch”即可启用分支保护。

解决方法一:确保你的引用是最新的

1. 使用git fetch将本地git客户端的引用信息与远程同步。

2. 使用git checkout branch_name切换到指定分支。

3. 使用git push -u origin branch_name将本地分支推送到远程。

解决方法二:创建一个不同的分支

如果存在冲突,可以创建一个名字不同于branch_name的新分支:

1. 使用git fetch更新本地git客户端的引用信息。

2. 使用git checkout -b my_new_branch branch_name在本地基于branch_name创建一个新分支。

3. 使用git push -u origin my_new_branch将新分支推送到远程。

解决方法三:尝试修复引用冲突

如果一定要使用branch_name这个名称,可以尝试解决冲突。以下步骤尚未经过测试,根据推测提供,无法重现你的情况。

1. 使用git fetch更新本地git客户端的引用信息。

2. 使用git checkout branch_name切换到指定分支。

3. 删除任何冲突的标签:

- 使用git tag -d branch_name删除对应的本地标签。

- 使用git push --delete origin :refs/tags/branch_name删除远程具有相同名称的标签。如果不存在,则会出现错误。

4. 使用git push --delete origin branch_name永久删除远程分支的副本。在运行此命令之前,请确保本地副本包含了所有预期的提交。如果分支不存在,则会出现错误。

5. 这样应该解决引用冲突问题,现在应该能够正常使用git push -u origin branch_name

- 另外,还可以尝试使用git fetch --prune,它会删除所有在远程不存在的分支引用。

6. 使用git tag -a new_tag_name -m "tag message" sha1重新创建之前删除的发布标签。其中sha1是之前标记的提交哈希。

7. 使用git push origin new_tag_name将标签推送到远程,并自动在GitHub上创建一个发布。

希望这些方法中的一个能够解决你的问题。

0
0 Comments

GitHub支持:

请不要惊慌,您没有在您的存储库中破坏任何内容。我们为仓库所有者和管理员引入了一种提示,以保护其默认分支...这个提示会显示给仓库中有多个分支的任何管理员。

我已经确认了这一点,创建分支会创建横幅,删除分支会删除横幅。

这一切非常有趣,但是即使是GitHub这样的网站的行为,也不是一个编程问题,所以我建议这个问题对于网站来说是离题的。

也许应该修改一下github标签的描述,“GitHub特定的功能”。此外,一些GitHub的通知与git直接相关(例如合并冲突),当时我们无法知道这不是这种情况(即由用户错误的代码引起)。

这是微软的恐吓策略,让你为此付费。

对于GitHub支持/文档团队,我感到惊慌... (⩺_⩹)

0