我只是想知道在 github 上完成 fork 后会发生什么。
例如,当我 fork 一个项目时,它会在 github 服务器上复制所有代码,还是只是创建一个指向它的链接?
那么另一个问题: 在 git 中,因为如果你向它添加相同的文件,它会散列所有文件,所以它不需要再次存储文件内容,因为散列已经在系统中,对吗?
github是这样的吗?因此,如果我碰巧上传了与另一个用户完全相同的代码,当 github gits 时,它实际上只是创建一个指向该文件的链接,因为它具有相同的哈希值,或者它是否再次单独保存其所有内容?
任何启示都会很棒,谢谢!
最佳答案
根据 https://enterprise.github.com/releases/2.2.0/notes GitHub Enterprise(我假设是 GitHub)以某种方式在分支之间共享对象以减少磁盘空间使用:
This release changes the way GitHub Enterprise stores repositories, which reduces disk usage by sharing Git objects between forks and improves caching performance when reading repository data.
在 https://githubengineering.com/counting-objects 上还有更多关于他们如何做的细节。 .
关于git - Github fork 的解释以及它们如何存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974686/