Version Control with Git



Similar documents
Git Basics. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 22

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat

Version Control with Git. Dylan Nugent

Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF

Version Control with Git. Kate Hedstrom ARSC, UAF

Introduction to Version Control

Version Control. Version Control

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

Version control with GIT

Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII.

Version Control using Git and Github. Joseph Rivera

Version Control! Scenarios, Working with Git!

Version Control with. Ben Morgan

Version Control with Git

MATLAB & Git Versioning: The Very Basics

Data management on HPC platforms

Introduction to Version Control with Git

Introduction to Git. Markus Kötter Notes. Leinelab Workshop July 28, 2015

Two Best Practices for Scientific Computing

Lab Exercise Part II: Git: A distributed version control system

Introducing Xcode Source Control

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

FEEG Applied Programming 3 - Version Control and Git II

Content. Development Tools 2(63)

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Git, GitHub & Web Hosting Workshop

Introduc)on to Version Control with Git. Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT

Git. A Distributed Version Control System. Carlos García Campos carlosgc@gsyc.es

Using Git for Project Management with µvision

MOOSE-Based Application Development on GitLab

Advanced Computing Tools for Applied Research Chapter 4. Version control

Git - Working with Remote Repositories

Source Control Systems

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.

Unity Version Control

Version Control Tutorial using TortoiseSVN and. TortoiseGit

Introduction to the Git Version Control System

An Introduction to Git Version Control for SAS Programmers

Git Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6.

Derived from Chris Cannam's original at, an.

Developer Workshop Marc Dumontier McMaster/OSCAR-EMR

Using GitHub for Rally Apps (Mac Version)

Software Configuration Management and Continuous Integration

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica. ICOM 5047 Capstone Miguel A. Figueroa Villanueva University of Puerto Rico Mayagüez Campus

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Working Copy 1.4 users manual

CSCB07 Software Design Version Control

Lab 1 Whatsup Watson Hands-On Lab

Revision control systems (RCS) and

1. History 2. Structure 3. Git Comparison 4. File Storage 5. File Tracking 6. Staging 7. Queues (MQ) 8. Merge Tools 9. Interfaces

Source code management systems

Version Control Systems

Version Control for Computational Economists: An Introduction

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

Source Code Control & Bugtracking

Version Control with Mercurial and SSH

PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under

Continuous Integration. CSC 440: Software Engineering Slide #1

Distributed Version Control with Mercurial and git

Version Control Script

Integrated version control with Fossil SCM

Version Control with Subversion

Git in control of your Change Management

Git Tutorial - How to Create a Full Project

VFP Version Control with Mercurial

An Introduction to Mercurial Version Control Software

Version Uncontrolled! : How to Manage Your Version Control

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer GIT

CS108, Stanford Handout #33. CVS in Eclipse

Pro Git. Scott Chacon *

How to Create a Free Private GitHub Repository Educational Account

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

AVOIDING THE GIT OF DESPAIR

Introduction to Version Control with Git

Version Control Using Subversion. Version Control Using Subversion 1 / 27

Gitflow process. Adapt Learning: Gitflow process. Document control

Software configuration management

Beginning with SubclipseSVN

vs. Web Site: Blog: blog.soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise

Using Subversion in Computer Science

CS 2112 Lab: Version Control

Backdooring Git. John Menerick August 2015

Work. MATLAB Source Control Using Git

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Theme 1 Software Processes. Software Configuration Management

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

Ingeniørh. Version Control also known as Configuration Management

Continuous Integration

Version control with Subversion

Transcription:

Version Control with Git Claudius Coenen License: CC-BY-4.0

What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better than <insert favourite vcs> Extended Team Workflows Internal Workings

Why Version Control? welcome.html

Why Version Control? So, what is the newest version of this file? Who changed the title? Yesterday, it was working just fine. welcome.html Did you get my mail? welcome_final2.html welcome_2.html Who's working on XYZ? welcome_2.html welcome_final.html welcome_final.html welcome2.html Is this welcome_final2.html bugfix already included somewhere? Who is working on this project, anyway? welcome_final2-bernd.html welcome2.html welcome_final2-bernd.html welcome.html

What is Version Control? NOT Version Control Emailing files Central FTP / Fileshare Periodical Backup of your project directory Dropbox Better than nothing Award in silver Better than nothing Award in bronze Version Control CVS (old) SVN Mercurial Bazaar Bitkeeper Git...

Safe-Keeping of Versions When you check something into version control, it will remember this exact version for you You can return to a previous version You get a fancy timeline of your project 06.03.2012 14:10 10.10.2012 14:12 Yesterday, 10:04 Today

Access Control Usually on a per-project basis Who can read and/or write a repository

Conflict Resolution Files edited by different people can usually be resolved automatically. welcome.html (Alice) welcome.html (Bob) welcome.html (Both changes)

The Commit An item in the history Think of this as a snapshot of your project Commit-Hash commit f303d887ebf263b466958ca7c83aebb9385936f0 Author: Claudius Coenen <coenen@meso.net> Date: Sat Feb 15 02:08:44 2014 +0100 Ticket #2342: fixing file upload to work with animated gif Commit-Message

git pull Full Workflow DO STUFF change files the way you normally would PREPARE git add the changes, so git knows about them COMMIT git commit, preferably with a nice message git push think: committing to memory or: committment

Branching/Merging And The History

Branching/Merging And The History # %$!~?? Appropriate use of Comic Sans!

Branching/Merging And The History Branch starts here Merge Usually no problem

Git Command Line Interface

Github App

Atlassian SourceTree

References

Command Cheat Sheet (Infrequent Commands) git config --global user.name Jane Doe git config --global user.email j.d@test.com git config --global color.ui true git config --system core.editor <editor> git init (creates a new repository) git clone <repository url> ( clones existing)

Command Cheat Sheet (Frequent Commands) git status git log git add git commit git checkout git reset (what's up on my drive) (what happened so far) (prepare these files for commit) (commit the added files) (return to a previous version) (reset the git index) These Commands are Local!

Command Cheat Sheet (Used often) git fetch git pull git push (just download) (download AND merge) (send my changes out) These Commands go over the network* *) simplification

Where to Start Baby steps in your browser http://try.github.io Download git for your system http://git-scm.com/downloads Maybe add a Git client that suits your taste At least try the commandline. Git in its purest form. gitk, GitHub-App, SourceTree, GitTower, TortoiseGit Integrate git into your IDE / Editor Eclipse, Sublime, WebStorm, RubyMine, NetBeans

Hand-Picked Resources Git has extensive documentation http://git-scm.com/documentation There's a lot of Tutorials out there http://marklodato.github.io/visual-git-guide/index-en.html https://www.kernel.org/pub//software/scm/git/docs/everyday.html http://www.teehanlax.com/blog/github-fundamentals/ http://mislav.uniqpath.com/2010/07/git-tips/ http://nvie.com/posts/a-successful-git-branching-model/ In-Depth Info http://git-scm.com/book Cannon fodder for lengthy debates with your fellow geek http://thkoch2001.github.io/whygitisbetter/