首页 > 解决方案 > 我是否成功地永久删除了 GitHub 中的一个分支(所以没有同事可以看到它)?

问题描述

我在 GitBash 中做了“git add file”和“git commit -m “msg””和“git push --all origin”。

它将分支推送到我不想推送的工作 GitHub 存储库(一些混合了来自不同用户名的旧内容)。

我查看了分支,并从我的个人计算机中找到了一些文件。

我在存储库的首页单击“分支”,并删除了那些刚刚放入 GitHub 的分支。

我是否成功地永久删除了这些分支和所有文件,所以同事们再也看不到它了?似乎从未根据以下内容拉过树枝。

另外,当我执行 push 命令时,它说:

“使用多达 8 个线程进行增量压缩”“写入对象:100% (122/122)”“总计 122 个(增量 7)”“远程:在 GitHub 上为 'branchname' 创建拉取请求”“[新分支] 分支名称--> 分支名称" "! [rejected] main --> main (fetch first)"

我对此感到担心,因为分支中只有少数文件到达存储库,但上面的这使得看起来有 122 个对象被放入了分支中。所以我担心我没有删除我没有看到我推入存储库的东西。还是因为“[rejected]”行而可能不在存储库中?

请问有什么帮助吗?我只是想确保没有私人生活的东西进入工作存储库。谢谢。我在 GitHub 上还不太聪明。

标签: gitgithubgit-bashgithub-for-windows

解决方案


“对象”是构成提交、树、文件和标签的内部 Git 数据库事物1 。推送 122 个的事实git push意味着你的 Git 有 122 个他们的 Git 没有的东西。

其中一些东西实际上是文件,而另一些则是支持对象。如果没有更多信息,任何人都无法说出多少。每个对象都有一个类型和一个原始哈希 ID——那些大而丑陋的十六进制数字——这将让 Git 检索内部对象,给定数字直接访问存储库。也就是说,如果您知道数字,GitHub 上的 Git 程序可以获取它们。

当您在 GitHub 上删除了相应的分支名称时,任何没有编号的人都很难找到编号。但是,对象本身仍然存在于 GitHub 存储库中,如果有人能以某种方式猜出数字,他们就能找到它们。

“被拒绝”消息意味着其中一些对象——那些本来可以进入 GitHub 存储库并可以通过main分支找到的对象——<em>没有进入 GitHub 存储库。GitHub 将对象存储在一个临时的“隔离”区域中,以防它们拒绝大(> 100 MB)文件,然后它们会丢弃所有存储的隔离对象。所以 122 中的一些没有进去。 122 中有多少根本没有进去,有多少现在根本找不到,不是任何人都可以告诉你的。

GitHub 上的某个人可以通过您成功创建或更新但已删除的分支名称使 GitHub 存储库弹出任何确实进入的对象。要做到这一点,您需要让 GitHub 支持人员代表您采取行动。


1 Thingy,名词:高度技术性的术语。


推荐阅读