提交和拉取请求有什么区别?

19

根据我所了解的,提交(commit)意味着我们更新了一些有缺陷的代码并从问题产生的地方提交了该代码。但是拉取请求(pull request)又是什么呢?


2
看这个链接可以了解一下:https://dev59.com/NnE85IYBdhLWcg3wgDvd - mmuzahid
顺便提一下,你也可以提交没有错误的代码。 - Evin1_
@mmuzahid:感谢您提供的链接,这是一个非常精美和自我解释的图表。 - invinciblemuffi
1
@Evin1_,那是不可能的 - Janne Matikainen
我们所说的没有错误的提交代码是什么意思,在这里它被认为是什么? - invinciblemuffi
2
这里展示了非常好的差异,其他人可以阅读并受益,为什么会被投票否定是个问题。 - invinciblemuffi
2个回答

30

拉取请求(pull request)是在没有写入权限的仓库中“提交”代码的一种方式。

该仓库的维护者会审核您的请求并决定是否将其与您的代码合并或保留原始状态。


1
非常感谢您提供的简单解释。 - invinciblemuffi

30
提交(commit)是对一个或多个文件的离散更改。这是Git的关键部分。 拉取请求(pull request)是请求将一个或多个提交合并到不同分支的过程。它不是Git的一部分;它只属于GitHub(以及类似BitBucket等服务)。
另请参阅尝试Git教程,您可以在其中进一步探索一些差异。

感谢您提出并解释这个简单的差异。 - invinciblemuffi
如果我需要提交到主分支(master),那该怎么做? - invinciblemuffi
1
我认为你的意思是:如果你需要在origin(你的在线版本)上提交。那么你使用push。https://help.github.com/articles/pushing-to-a-remote/ - Evin1_
根据您上面的回答,如果我们在别人的存储库中提交分支而不是主分支,则称为拉取请求,否则如果我们在自己的存储库中提交,则称为推送。如果我理解有误,请纠正我。谢谢。 - invinciblemuffi
7
如果你想更新自己代码的任何分支,就需要使用“commit”;如果你想更新别人代码的任何分支,就要使用“pull request”;如果你想更新你的在线代码库,就使用“push”;如果你想将在线更改更新到本地代码库中,就要使用“pull”。请注意不要改变原来的意思。 - Evin1_
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接