我想知道做一个项目的Fork和做一个克隆之间的区别。

如果我已经分叉了一个项目,我只能通过GitHub发送拉请求吗?


当前回答

fork项目在您的在线存储库(回购)。 克隆的项目在您的本地机器上(我通常在fork回购后克隆)。

你可以提交你的在线回购(或提交你的本地回购,然后推送到你的在线回购),然后发送拉请求。

项目经理可以在他的主要在线版本中接受您的更改。

其他回答

@AniketThakur的回答很好。下面这个问题还没有人回答。

如果我已经分叉了一个项目,我只能通过GitHub发送拉请求吗?

不。如果您是存储库的贡献者,您可以:制作本地克隆。创建本地分支。向该分支添加提交。将本地分支推回github(在此过程中创建远程分支)。创建一个pull请求,请求将该分支合并到主分支(或任何您喜欢的分支)中。

fork项目在您的在线存储库(回购)。 克隆的项目在您的本地机器上(我通常在fork回购后克隆)。

你可以提交你的在线回购(或提交你的本地回购,然后推送到你的在线回购),然后发送拉请求。

项目经理可以在他的主要在线版本中接受您的更改。

如果你做了提问者暗示的事情(忘记了fork,只是在本地克隆了一个回购,做了更改,现在需要发出一个拉请求),你可以回到正轨:

Fork你想要发送拉取请求的回购 将本地更改推到遥控器 发出拉请求

简而言之,“fork”创建了一个托管在你自己的GitHub帐户上的项目副本。

“克隆”使用git软件在您的计算机上下载源代码和它的整个版本历史到该计算机

基本上,是的。fork只是请求GitHub克隆项目,并在你的用户名下注册它;GitHub还跟踪两个存储库之间的关系,因此您可以可视化两个项目(以及其他分支)之间的提交和提取。

即使您不使用fork,您仍然可以请求人们从您克隆的存储库中提取,但您必须自己处理使其公开可用的问题。或者向开发人员发送补丁(参见git format-patch),他们可以应用到他们的树。