{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Git Workflows: Pull Requests II\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pull Requests II\n", "\n", "1. Forking overview\n", " - Forking:\n", " - Forking: copying a remote repo to your own online account\n", " - Both repos are remote repos\n", " - The upstream repo is usually the source of truth\n", " - What is fork used for?\n", " - Experiment with/learn from the upstream repo\n", " - Issue pull request to the upstream repo\n", " - Create a different source of truth\n", " - *When you clone a GitHub repository on your local workstation, you cannot contribute back to the upstream repository unless you are explicitly declared as \"contributor\".*\n", " - *The fork & pull model lets anyone fork an existing repository and push changes to their personal fork without requiring access be granted to the source repository. The changes must then be pulled into the source repository by the project maintainer. This model reduces the amount of friction for new contributors and is popular with open source projects because it allows people to work independently without upfront coordination.*\n", "\n", "\n", "2. Creating a fork\n", " - Follow instruction in video: https://www.coursera.org/learn/version-control-with-git/lecture/nJwTc/pull-requests-ii\n", " - Forking Define:\n", " - *In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software.*\n", " \n", "\n", "3. Synchronizing a fork\n", "\n", "\n", "4. Multi-repository pull requests" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Review: Pull Requests II\n", "- A fork is a remote copy of an upstream remote repo\n", "- A fork is created using an online Git hosting provider\n", "- Forks and upstream repos may become out of sync\n", "- Pull requests can be made from forks and merged into the upstream repo" ] } ], "metadata": { "hide_input": false, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }