微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

存储库未分叉,我不确定是什么原因造成的,但希望将其分叉

如何解决存储库未分叉,我不确定是什么原因造成的,但希望将其分叉

我有一个从团队存储库分叉的存储库。我只是对它进行了更改,当我查看 github 时,我发现它不再分叉了。我不知道我做了什么让这种情况发生。我在命令行中执行了这些步骤:

git status
git add .
git commit -m "Message"
git push

然后我看到一个文件没有准备提交,所以我这样做了:

git add "../Filepath/File.cs"
git commit -m "Message"
git push

我是否做错了什么会导致分叉存储库不再分叉?我想将我的更新与团队存储库合并,我现在应该怎么做?

上次发生这种情况时,我做了所有这些来修复它,但我希望有更简单的方法

1.) back up current project locally
2.) delete project locally
3.) delete prevIoUsly forked repository
4.) fork repository again
5.) clone forked repository locally
6.) copy backed up files to cloned location
7.) push files to personal repository
8.) merge personal repository to team repository

解决方法

GitHub“分叉”是一个克隆。使用“fork”按钮 GitHub 上的唯一特别之处在于它在 GitHub 上做了一些额外的幕后项目:

  • 这样可以节省空间。 (这里的确切机制对你是隐藏的:你的 fork 在其他方面表现得像任何普通的克隆。)

  • 它让提出“拉取请求”,从而您推送到 GitHub 分叉的提交可供控制您分叉的存储库的任何人使用,以及所有问题跟踪和GitHub 围绕此提供作为整个生态系统的电子邮件生成内容。

第二个要点是 GitHub 分叉的真正卖点。这就是为什么我们使用 fork 按钮,而不是仅仅进行克隆。第一个要点对 GitHub 很有用,但对 GitHub 的用户没有任何作用。

但是,因为这两项操作都完全是幕后操作,所以无法做任何事情来影响其中任何一项。只有 GitHub 自己可以“取消”他们所做的连接以启用第二个要点。

通常,如果拥有相关存储库的人将其删除,就会发生这种情况。例如,假设我使用 GitHub 按钮分叉所有者 O 拥有的存储库 R。然后所有者 O 认为 R 有一些可怕的地方,所以他们完全删除了 R。 现在无处可发送我的请求,所以 GitHub 撤消他们在我的叉 F 和 O 的 R 之间建立的连接。

如果所有者 O 现在创建了一个名为 R 的项目,然后我去查看,我会看到 R “仍然存在”,并且不知何故我的叉 F 已与 R “断开连接”。这里真正的问题是现在看到的 RI 不是昨天看到的 RI。哦,当然,他们有相同的名字。它们甚至可能具有相同的内容(直至原始提交哈希 ID)。但它们是完全不同的存储库,就像通过精确复制每个分子制成的 Ship of Theseus 复制品仍然是一艘完全不同的船。

现在,如果您可以与所有者 O 交谈并发现他们没有做任何事情,我们必须得出结论,GitHub 以某种方式解开了钩子;要解决明显的后续问题(“如何”和“为什么”),我们必须询问 GitHub 人员。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。