Git Tutorial

Git Tutorial

Software Engineering at MPRI - Tutorial on the version control system git, and its extensions Am´elieLedein [email protected] October 9, 2020 Am´elieLedein Tutorial October 9, 2020 1 / 31 Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? Introduction Don't forget ... Am´elieLedein Tutorial October 9, 2020 2 / 31 Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Am´elieLedein Tutorial October 9, 2020 2 / 31 Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Am´elieLedein Tutorial October 9, 2020 2 / 31 Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Am´elieLedein Tutorial October 9, 2020 2 / 31 OK, but how can you share your code? Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? USB-key Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? USB-key Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? USB-key Email Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? USB-key Email Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? USB-key Email Dropbox, Google Drive, etc. Am´elieLedein Tutorial October 9, 2020 2 / 31 Introduction Don't forget ... Rigor ! Code, methodology, specifications and tests Adaptability ! Components could be re-used in a (slightly different) context. Modularity ! Segment project in modules with clearly defined interfaces. ! Develop and test independently, facilitate re-use and change. Abstraction ! Do not specify implementation details, i.e. things that can easily change. OK, but how can you share your code? USB-key Email Dropbox, Google Drive, etc. Am´elieLedein Tutorial October 9, 2020 2 / 31 or any version control systems (VCS). (syst`emesde gestion de version, in French) The answer is ... Am´elieLedein Tutorial October 9, 2020 3 / 31 The answer is ... or any version control systems (VCS). (syst`emesde gestion de version, in French) Am´elieLedein Tutorial October 9, 2020 3 / 31 Sommaire 1 Git Git in a nutshell Basic commands Branching Data structures 2 GitHub Am´elieLedein Tutorial October 9, 2020 4 / 31 Sommaire 1 Git Git in a nutshell Basic commands Branching Data structures 2 GitHub Am´elieLedein Tutorial October 9, 2020 5 / 31 Software system that allows you to maintain and manage all versions of a set of files. Why a version management system? Revolve easily to a previous version. Follow the evolution of the project over time. Allow parallel work on disjointed parts of the project and manage the competing modifications. Facilitate the detection and correction of errors. etc. An example: ! A free and open source distributed version control system (DVCS) ! Designed to handle everything from small to very large projects with speed and efficiency What is a version control system? Am´elieLedein Tutorial October 9, 2020 6 / 31 Why a version management system? Revolve easily to a previous version. Follow the evolution of the project over time. Allow parallel work on disjointed parts of the project and manage the competing modifications. Facilitate the detection and correction of errors. etc. An example: ! A free and open source distributed version control system (DVCS) ! Designed to handle everything from small to very large projects with speed and efficiency What is a version control system? Software system that allows you to maintain and manage all versions of a set of files. Am´elieLedein Tutorial October 9, 2020 6 / 31 An example: ! A free and open source distributed version control system (DVCS) ! Designed to handle everything from small to very large projects with speed and efficiency What is a version control system? Software system that allows you to maintain and manage all versions of a set of files. Why a version management system? Revolve easily to a previous version. Follow the evolution of the project over time. Allow parallel work on disjointed parts of the project and manage the competing modifications. Facilitate the detection and correction of errors. etc. Am´elieLedein Tutorial October 9, 2020 6 / 31 What is a version control system? Software system that allows you to maintain and manage all versions of a set of files. Why a version management system? Revolve easily to a previous version. Follow the evolution of the project over time. Allow parallel work on disjointed parts of the project and manage the competing modifications. Facilitate the detection and correction of errors. etc. An example: ! A free and open source distributed version control system (DVCS) ! Designed to handle everything from small to very large projects with speed and efficiency Am´elieLedein Tutorial October 9, 2020 6 / 31 Stash (remise): A place to hide modifications while you work on something else. Workspace (espace de travail): Local checkout. Index (zone d'index), staging area, staged files or (current directory) cache: Files you want to commit. Before you "commit" (checkin) files, you need to first add them to the index. Local repository (d´ep^otlocal): A subdirectory named .git that contains all of your necessary repository files - a Git repository skeleton. Remote/upstream repository (d´ep^otdistant): Versions of your project that are hosted on the Internet or network, ensuring all your changes are available for other developers. The default name is origin. Git in detail Am´elieLedein Tutorial October 9, 2020 7 / 31 Workspace (espace de travail):

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    58 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us