Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC308 Lecture 20

CSC308 Lecture 20

Software Engineering I
Version Control
(202303)

Javier Gonzalez-Sanchez
PRO

November 06, 2022
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSC 308
    Software Engineering 1
    Lecture 20:
    Version Control Systems
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  2. jgs
    Previously …

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 3
    The Guess Who Game

    View Slide

  4. jgs
    Source Code Repository &
    Version Control

    View Slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 5
    Version Control
    Record changes to a file or set of files over time
    so that you can recall specific versions later

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 6
    Version Control

    View Slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 7
    Teamwork

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 8
    Repository

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 9
    Centralized Version Control
    A single server that contains all the versioned
    files, and a number of clients that check out files

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 10
    Repository

    View Slide

  11. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 11
    Distributed Version Control
    clients don’t
    just check out
    the latest
    snapshot of the
    files; rather,
    they fully
    mirror the
    repository

    View Slide

  12. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 12
    Tool – Version Control System
    Originally authored by Linus Torvalds in
    2005 for the development of the Linux kernel

    View Slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 13
    Tool – Version Control System
    GitHub is a Git repository hosting service that
    provides a web-based graphical interface

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 14
    Do Not Forget

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 15
    Repository

    View Slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 16
    Repository

    Push

    Fetch

    Commit

    Update
    (merge)
    📁 📁 📁

    View Slide

  17. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 17
    Repository

    Push
    Workspace (working dir.)
    Index (Stage)
    📁
    Fetch


    Commit
    Merge

    Pull

    📁

    View Slide

  18. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 18
    Repository

    View Slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 19
    Repository
    main

    View Slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 20
    Homework

    View Slide

  21. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 21
    Homework
    IntelliJ IDEA. Share a Project on GitHub
    https://www.youtube.com/watch?v=4ukhZvOmAtk

    View Slide

  22. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 22
    Homework
    Version Control with IntelliJ IDEA
    https://youtu.be/-S3Q_-b52rA

    View Slide

  23. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 23
    Homework
    Create a GitHub User
    Share it with Me,
    I am adding you to a Repository

    View Slide

  24. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 24
    Questions

    View Slide

  25. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 25
    Office Hours
    Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  26. jgs

    View Slide

  27. jgs
    CSC 308
    Software Engineering 1
    Lab 20:
    Astah
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  28. jgs
    We need Tools

    View Slide

  29. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 29
    Let’s Work
    astah.net/downloads/
    astah.net/support/astah-pro/user-guide/class-diagrams/

    View Slide

  30. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 30
    Java API
    • Create the following 2 class diagrams using
    Astah.
    • Export them as images or PDF
    • Submit your work in teams of 2 or
    individually

    View Slide

  31. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 31
    My Assignment 01
    https://github.com/
    javiergs/CSC308/
    tree/main/paintApp

    View Slide

  32. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 32
    My Assignment 02
    https://github.com/
    javiergs/CSC308/
    tree/main/tspClusteredApp

    View Slide

  33. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 33
    Questions

    View Slide

  34. jgs
    CSC 308 Software Engineering I
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Winter 2023
    Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly.
    They cannot be distributed or used for another purpose.

    View Slide