TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

GitHub forking has one big flaw (2011)

76 点作者 tutuca将近 10 年前

10 条评论

jondubois将近 10 年前
I think it&#x27;s only fair that the original repo should be the most promoted one. Usually, the original author has put a lot of thought and effort into coming up with the idea and turning it into a popular open source project.<p>You don&#x27;t want to create an environment in which forkers can easily steal credit from the original author(s). It takes a lot of passion and goodwill for someone to start a new open source project. I think they deserve some credit.<p>If an &#x27;owner&#x27; no longer feels up to the task of managing their project, GitHub lets them transfer it to someone else. That&#x27;s what happened with ExpressJS and it worked out fine.
评论 #9784498 未加载
评论 #9783838 未加载
评论 #9787972 未加载
评论 #9785859 未加载
tenfingers将近 10 年前
Also, of note, is that currently if you &quot;fork&quot; using git and push it into a github repository, there&#x27;s no way to re-attach&#x2F;hint github about the original ancestor.<p>The problem is compounded by the fact that doing <i>anything</i> related to the ancestor, such as pull requests, or even just diffs, will not be possible.<p>I submitted a feature request to the github folks years ago, but nothing has really happened (I was just suggested to delete and fork the repository again).<p>Not that it&#x27;s hard: you could determine the ancestor and different lineages just using the hashes of the commits upon the first push to github. You could also do it completely offline, it wouldn&#x27;t matter.<p>There&#x27;s also quite a number of forks available on github which aren&#x27;t really visible because of that. I know that for some of my own projects and smaller projects that I checked, a code search would actually reveal <i>many</i> non-linked repositories. And I also know why: I often don&#x27;t fork on github (why would I if I know nothing about the project yet?), I just shallow clone locally. Forking on github doesn&#x27;t serve any purpose until you actually change the code, which oftentimes has already been done locally.
评论 #9783116 未加载
nathankleyn将近 10 年前
Amusingly, Bitbucket has since removed a lot of their useful fork information after a redesign that took place between now and this article&#x27;s publish date (2011) [1].<p>One approach to this problem, as the article mentions, is to list by popularity - however what would this mean? If it&#x27;s by the number of &quot;stars&quot;, not many people curate their list to keep them up to date. It would have to be some kind of rolling popularity measure, perhaps number of unique users who&#x27;ve cloned a repository in the last month or something.<p>[1]: <a href="https:&#x2F;&#x2F;bitbucket.org&#x2F;site&#x2F;master&#x2F;issue&#x2F;5009&#x2F;list-of-project-forks-gives-very-little" rel="nofollow">https:&#x2F;&#x2F;bitbucket.org&#x2F;site&#x2F;master&#x2F;issue&#x2F;5009&#x2F;list-of-project...</a>
qznc将近 10 年前
It affects only one part of the rant, but I wonder why Github considers it necessary to publically fork a project. Often, I want to push a single fix. I would like to<p><pre><code> git clone git@github.com:foo&#x2F;bar.git # fix locally git commit git push # creates pull request</code></pre>
评论 #9785100 未加载
评论 #9784061 未加载
评论 #9786280 未加载
caboteria将近 10 年前
Github can make some changes as administrative actions even though there&#x27;s no UI to do it. For example, I have a project that was originally a fork but became the upstream when the fork went offline. Github was able to &quot;break&quot; the link from my fork to the dead upstream so mine became the upstream.<p>It&#x27;s not as easy as DIY but it&#x27;s just a support request.
IshKebab将近 10 年前
I&#x27;ve noticed this too. Loads of github projects have dozens of forks with identical Readmes. The only way to work out the difference between them is to look at the commit messages on the Network tab.
musically_ut将近 10 年前
I wrote a Chrome&#x2F;Firefox extension to address the problem of finding &quot;notable&quot; forks of original repos. These often are community supported version of the original which would have been hard to find otherwise: Lovely Forks ~ <a href="https:&#x2F;&#x2F;github.com&#x2F;musically-ut&#x2F;github-forks-addon" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;musically-ut&#x2F;github-forks-addon</a>
ryanbrunner将近 10 年前
I agree with the idea that &quot;not all forks are considered equal&quot; insofar as GitHub should do a better job of surfacing notable forks, rather than a fork that fixes a small environmental issue specific to a single person, or ones that don&#x27;t make notable changes at all.<p>In terms of not elevating the root to special status, I disagree. Recognizing one particular repository as canonical is a feature, not a bug. As much as git itself doesn&#x27;t place any special significance on a particular repository, the culture of open source development does. Linus Torvalds can certainly say that his Linux repository doesn&#x27;t hold special status, but that&#x27;s just not true beyond a technical level. It&#x27;s useful to be able to say &quot;this is the <i>main</i>, supported version of this library&quot;
评论 #9783685 未加载
amelius将近 10 年前
&gt; I want to add a feature or fix a bug but I want to share the changes upstream or with other people that may find it actually useful. I fixed a bug for my own environment. These changes may break everyone else and so no body should probably use this fork. I want to lock a version of a project away in a safe place that I know won’t change or break later and may use it as a point to send changes back up later. (This partially due to some design issues with git submodules.) I want to experiment. My changes are probably interesting but not ready for primetime, but if it works out it maybe come something fruitful.<p>Isn&#x27;t that what &quot;branches&quot; are for?
评论 #9783276 未加载
btown将近 10 年前
Solution: Just make sure your fork has better SEO than the root! Work hard at promoting your fork, have blogs link to you as the best thing since sliced bread, etc. After all, since SEO is all about grassroots efforts, it&#x27;s not at all like you&#x27;re kowtowing to a central entity&#x27;s policies and trying to work around their ridiculous restrictions. Because that would be counter to the distributed nature of Git and FOSS in general, right?<p>Oh, wait.<p>&#x2F;s