[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Pull requests are a core part Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,of making a change\Nto any GitHub repository. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Let's figure out\Nhow to use them effectively. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,(smooth music) Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Pull requests are a means Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,of submitting a change\Nto another code base. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can do this\Nwhether you're a core contributor, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or you're working\Nat arm's length with a fork. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you're not a core contributor,\Nyou can fork this project, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,work on that change on your own Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and send that change back as a proposal Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,on a pull request to the original author. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It means that making a correction\Nbecomes easier than making a complaint, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,which is why GitHub has really facilitated\Nthe growth and development of Open Source. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Just make that edit,\Nmake it better, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,everyone benefits. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This also applies to closed projects,\Ncorporate projects, private repos. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you do have access\Nto push to a repository, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you should still work on a branch\Nand send that pull request Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to get some review on your code. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This means you're going\Nto create a branch, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,start making some commits,\Nand when you're ready to get it reviewed, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,send that back to everyone else\Non your team in that pull request. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This means that a pull request\Nis a conversation, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,not just a one-shot submission\Nof what's on a branch, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but rather, a little bit\Nof dialogue and discussion, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,some revision to the code,\Nthat all appears in chronological order, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and finally, an approval,\Nor in the terrible case, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,a thumbs down that says, "this does not\Nseem like a wise change to the code base." Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,But in either of those two situations,\Nthe URL and the pull request lives on. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You don't have to stop talking Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,just because things\Nwere closed out and not accepted. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can continue to find out\Nwhy it wasn't accepted Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and what changes\Nyou can make in the future Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to make sure all your pull requests\Nwill be accepted. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This also serves as an educational tool Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,for people who join the team\Nat a later time. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,These pull requests are dialogues\Nof what type of change Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,might be culturally acceptable here, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,what are the expectations,\Nrequirements, formats Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,that people expect stuff in, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and you can save these URLs\Nand point to them as educational tools Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,for these new individuals. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This means you don't have\Nto forward on some email conversation Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,about how a feature came to be. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can just point someone to a URL\Nand they can look at it for all time. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We're also interested\Nin the technical inputs, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,not just the human ones. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,A CI system, continuous integration, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,like Travis, Hudson,\NJenkins, Circle CI, Team City, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,can all integrate\Nwith a GitHub pull request Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and report the build status\Nfor this branch, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the fundamental unit of a pull request, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,right in the line with that conversation. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So that means along with the conversation\Nand the changes to code, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,there's little build statuses\Nthat'll pop up to say, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"yes, all the tests have passed"\Nor "no, we have some failing test". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It also affects the status\Nof the {\i1}Merge{\i0} button Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,providing you a warning saying, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"wouldn't you like to have\Nall the tests passing Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and this branch be clean, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,before you potentially press\Nthis {\i1}Merge Pull Request{\i0} button?" Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So now that we have CI status integrated\Nwith the idea of human feedback, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we have holistic, human review\Nplus technical set of tests, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but not only on the contents\Nof the branch, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but on a predictive merge\Nof both the branch and its destination, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so you get to see into the future Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,what this would be like if it was merged. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This doesn't mean\Nthat that merge is permanent. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It'll actually do that predictive merge,\Nsee how things go, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then let you know\Nif you did merge this in, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,if you would be successful or not. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So if CI reports a good status,\Nyou have social acceptance Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,with a couple of {\i1}thumbs up{\i0}\Nand {\i1}ship it{\i0}s in the thread, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it's time to press\Nthe {\i1}Merge Pull Request{\i0} button. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Once that happens, you're also presented\Nwith the option to delete the branch, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,which sounds kind of scary,\Nbut isn't a bad thing. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We don't have to really worry\Nabout closing out and deleting that branch Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because all of the commits\Nare in the destination branch. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,They've been preserved, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so you can delete that branch\Nto let people know Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,future development\Nisn't happening over there. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,The pull request still stays around, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,in case you want\Nthe record of the discussion, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and your identity and the credit\Nfor the work that you've done Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,appears in the destination branch\Nalong with those merged in commits. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Thanks for watching this Git\Nand GitHub Foundations episode Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,on the World renowned pull request. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Don't forget to click {\i1}Subscribe{\i0}\Non any of these channels on the side. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Or, ask us a question\Nor leave a comment down below, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or check out any\Nof these other educational videos Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,on Git and GitHub topics.