Hacker News new | past | comments | ask | show | jobs | submit login

Pull requests are the thing they offer that is closest to Git itself but not available in the base Git. It's a code reviewing tool to use before merging branches.

Developer A has a branch that he wants to merge with the master branch. He opens a pull request for that merge, and Developer B can look at the diff online and _comment on it_. On individual lines or blocks, or on the PR as a whole. The comments can become discussions, new commits can be added to the pull request and the comments are marked as outdated if that code was updated, when everything is OK developer B can press an "Approve" button and the branch can be merged.

> Pull requests are the thing they offer that is closest to Git itself but not available in the base Git

They are available in base git. The command is called request-pull[1].

[1] https://git-scm.com/docs/git-request-pull

As far as I can tell, all this does is generate some text that you can email to someone. It doesn't offer the ability to iterate on code reviews or track line comments, so you'd have to manage all that either via email or via a separate system.

It really depends on how you define the term pull request/merge request/request pull. The end action is to merge the code in the set of commits into a local branch, which is what all three allow you to do.

The ability to discuss code changes, etc, is separate from that. In my opinion, the terms pull request and merge requests are not entirely accurate. For services like Gitlab and Github, it's essentially asking the maintainer to review your code, so it really ought to be called review or change request.

A note on terminology:

GitHub and GitLab have similar features. GitHub calls them pull requests. GitLab calls them merge requests.

Pull/Push is a nightmare for Portuguese (Portugal,Brazil) because 'puxar' (read push-ah-r) means pull................

Ah yes! It happens in English too:

"Press Enter to exit, Exit to cancel, or Cancel to continue."

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact