Part 1: Editing and Publishing Files

Slides:



Advertisements
Similar presentations
An Introduction By Sonali and Rasika.  Required for the project  Show the versions of your code in the course of development  Show versions of your.
Advertisements

Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Version control Using Git 1Version control, using Git.
Introduction to Version Control
Git – versioning and managing your software L. Grewe.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Version control Using Git Version control, using Git1.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Git (Get) it done right! Practical Applied Version Control for Drupal site developers Peter Chen - Stanford School of Engineering Technical Webmaster.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Version Control. How do you share code? Discussion.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…using Git/Tortoise Git
Ernst Peter Tamminga Get started with GitHub XCESS expertise center b.v. Netherlands.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
GIT.
Intro to Git presented by Brian K. Vagnini Hosted by.
1 Web Design Workshop DIG 4104c – Lecture 5c Git: Branch and Merge J. Michael Moshell University of Central Florida giantteddy.com.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
CS 160 and CMPE/SE 131 Software Engineering February 16 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
CS102 Basic Computer Science and Programming Assoc. Prof. Jens Allmer Teaching Assistants: Canan Has, Caner Bağcı.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Version Control Systems
Basics of GIT for developers and system administrators
Git primer Landon Cox January 19, 2017.
Information Systems and Network Engineering Laboratory II
L – Modeling and Simulating Social Systems with MATLAB
Discussion #11 11/21/16.
I Don’t Git It: A beginner’s guide to git Presented by Mathew Robinson
Git and GitHub primer.
11 Version control (part 2)
GIT AND GITHUB WORKSHOP
LECTURE 2: Software Configuration Management
Version Control.
CS4961 Software Design Laboratory I Collaboration using Git and GitHub
Discussion 11 Final Project / Git.
Version Control overview
Version control, using Git
A Simple Introduction to Git: a distributed version-control system
Software Engineering for Data Scientists
Version Control with Git and GitHub
Macaualy2 Workshop Berkeley 2017
Version Control Systems
Storing, Sending, and Tracking Files Recitation 2
Version Control System
Distributed Version Control with git
Version Control with git
LECTURE 3: Software Configuration Management
The Big Picture
Getting Started with Git and Bitbucket
Advantages Project Career Divide & Conquer Collaboration
GitHub A Tool for software collaboration James Skon
Git CS Fall 2018.
Introduction to Git and GitHub
Git started with git: 2018 edition
GitHub and Git.
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Version Control with Git and GitHub
Version Control with Git
Introduction to Git and Github
1. GitHub.
Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018.
Presentation transcript:

Part 1: Editing and Publishing Files Version Control Part 1: Editing and Publishing Files Computer Science and Software Engineering © 2014 Project Lead The Way, Inc.

Presentation Name Course Name Unit # – Lesson #.# – Lesson Name Why Version Control? Keep track of previous versions – who did what and when? Can we go back? Merge teammates’ contributions.

Do-It-Yourself Version Control Presentation Name Course Name Unit # – Lesson #.# – Lesson Name Do-It-Yourself Version Control Dates and initials in filenames Tells (hopefully) “When?” and “Who?” Commits to the old file once you switch to a new filename .

Do-It-Yourself Version Control Presentation Name Course Name Unit # – Lesson #.# – Lesson Name Do-It-Yourself Version Control Track changes Tells “What?” None of this helps you merge branches of development! .

GitHub Collaboration using the cloud Repositories of files Presentation Name Course Name Unit # – Lesson #.# – Lesson Name GitHub Collaboration using the cloud Repositories of files GitHub-for-Windows: Clone (copy to local machine) Commit (snapshot) Push (move to another repository) GitHub in Browser To discuss commits Great for merging differences .

remote origin local clone Presentation Name Course Name Unit # – Lesson #.# – Lesson Name Summary: Version Control A remote origin files A A repository in the cloud had one commit, ‘A’. This commit includes information about a directory tree of files that it refers to. A repository can include many commits, each with their own versions of files. The commits can be in a series, one after another, or in a branched structure, and the repository will include information about all committed versions of the files. The repository we started with had only one commit. We cloned this repository to our local machine. A “remote” relationship between the two repositories was established to allow us to synchronize them easily. local clone files

origin clone Summary: Version Control A B C A B C head head files Presentation Name Course Name Unit # – Lesson #.# – Lesson Name Summary: Version Control A B C origin files files files head head A B C We made changes to the files on our local machine, but the repository did not change. We committed those changes as commit ‘B’, and our local repository had all data about both commits. We could now make additional changes starting from the versions recorded in either commit. The blue arrow goes backward in time, showing that commit ‘B’ refers to commit ‘A’. We made additional changes from the “head” of our local development, which was commit ‘B’, and then committed them as commit ‘C’. We synchronized with the remote repository by pushing our commits to the “origin”. Now both repositories contain all three commits, and a collaborator could start their work with any of the three sets of versions of our files. clone files files files files

Xena- origin Laura- clone Josh- clone Presentation Name Course Name Unit # – Lesson #.# – Lesson Name Summary: Version Control E Xena- origin A B C D F Laura- clone Josh- clone A B C D A B C E F The real power of GitHub is that it allows developers to collaborate by merging their work together without losing track of who built off of what. GitHub makes it easy for people to incorporate the improvements made by others. The following information is beyond our scope right now, so feel free to ignore it. But maybe seeing it now will help you understand the power of GitHub. Xena has shared her repository on GitHub, with commits ‘A’, ‘B’, and ‘C’. Laura clones it. Laura adds a new feature and makes a local commit ‘D’. Josh also clones Xena’s repository and improves it, making a local commit ‘E’. Laura asks Xena to incorporate her feature by making a “pull request”. Xena pulls Laura’s code into the cloud repository. Josh synchronizes his clone with the origin repo and discovers that his commit ‘E’ is a branch from a commit earlier than the current head of the origin. Josh sees the individual line differences among the versions. He creates a new version built from both commits ‘D’ and ‘E’, and commits the merged work as ‘F’. He requests that Xena pull his commits ‘E’ and ‘F’ into her repository, and she does. GitHub does the work for the group, keeping track of which version incorporate all the revisions of which other versions. Thanks to this GitHub team, lots of developers can combine their work while creating lots of simultaneous versions without getting lost. D