Git In The Land of Version Control Systems A tutorial on getting git.

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

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.
Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
om om GIT - Tips & Tricks / git.dvcs git-tips.com
Patterns & practices Symposium 2013 Introducing Git version control into your team Mark
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
Introduction to Git and Github Joshua imtraum.com.
Git: Part 1 Overview & Object Model These slides were largely cut-and-pasted from tutorial/, with some additions.
Distributed Version Control. Image stolen from which is really good, go read it.  Old-school version control.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
1 Applied CyberInfrastructure Concepts ISTA 420/520 Fall
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
GIT.
Intro to Git presented by Brian K. Vagnini Hosted by.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Technical Presentation by: David Spano. About Git (VCS) Simple Git Commands Branching Github Git GUI Summary.
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 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Introduction to Git Thomas.
Getting Started with Git Presented by Jim Taylor Rooty Hollow, Owner Verizon Wireless, Senior Programmer/Analyst Git User for 6 years.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Backing up a machine with git
GIT: (a)Gentle InTroduction Bruno Bossola. Agenda About version control Concepts Working locally Remote operations Enterprise adoption Q&A.
CS5220 Advanced Topics in Web Programming Version Control with Git
Introduction to GitHub
M.Sc. Juan Carlos Olivares Rojas
I Don’t Git It: A beginner’s guide to git Presented by Mathew Robinson
Primož Gabrijelčič Git for Programmers Primož Gabrijelčič
Version Control Systems
11 Version control (part 2)
Git Practice walkthrough.
Setting up Git, GitBash, and GitHub
L – Modeling and Simulating Social Systems with MATLAB
CS5220 Advanced Topics in Web Programming Version Control with Git
Version Control System using Git
Software Engineering for Data Scientists
Version Control with Git and GitHub
Git All hail the octo-cat
Storing, Sending, and Tracking Files Recitation 2
An introduction to version control systems with Git
Version Control with Git accelerated tutorial for busy academics
SU Development Forum Introduction to Git - Save your projects!
Distributed Version Control with git
Akshay Narayan git up to speed with RCS Akshay Narayan
An introduction to version control systems with Git
Anatomy of a Git Project
The Big Picture
SIG: Open Week 1: GitHub Tim Choh.
Setting up Git, GitBash, and GitHub
An introduction to version control systems with Git
Version control with Git Part II
Git CS Fall 2018.
Version Control System - Git
Version control with Git
Version Control Software
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Version Control with Git and GitHub
Git Fundamentals.
Git Introduction.
Git GitHub.
Introduction to The Git Version Control System
Introduction To GitHub
Introduction To GitHub
Advanced Git for Beginners
Presentation transcript:

Git In The Land of Version Control Systems A tutorial on getting git

Version Control Systems Some History

In the beginning RCS

Then... CVS & SVN

When Linus could scale no more Bitkeeper

Which lead to... Git, arch, Bazaar and Mercurial

Getting Started ● You need one tool and that's git. – On debian its a package called git-core – You can get the source from ● But there are others: – Meld – diff viewer – Egg – emacs mode for git – Gitg /gitk – view your emacs tree

Configuring git ● There's a file called.gitconfig in your home directory. ● It's an INI-style file which you could edit by hand. But you can always use the git config command instead. ● Things you should set: – Your and name – Aliases, handy

Getting Started On Your Project ● Open a new directory git init ● You should now see a.git directory ● You are on your way :)

Getting Started On Your Project ● The.gitignore file is in the root of your git repository. It holds patterns of files you want to ignore like: – # is a comment (e.g. # Rob's gitignore) – ! is a negation (e.g. !a.c everything but a.c) – * is anything (e.g. *.log) – [] denote options (e.g. i.[oa] – ignores i.a and i.o).

Git core concepts #1 & 2 #1 Your entire git repository is on your machine. That means everything is local So all operations cost a lot less #2 There is an area before you commit called the stage The stage is how you manage the files pre- commit

Getting Working With git git status, git diff, git commit, git branch – do exactly what you they do in svn git add – adds files or parts of files to a commit git checkout – switches from branch to branch git commit – commits your changes to your git repo.

Practical: Set up a git repository

Sharing the love When you have a git repo you can share it: ● Via SSH ● Via git daemon – not recommended ● Via Apache ● Via github git push sends your changes to a remote repository. git pull gets the changes from another repository git remote manages your list of remote repositories

Git core concepts #3 & #4 #3 The.git directory is all you need to share you entire history. 4# Each change is a patchset. They form a directed acyclic graph (as in a set of connected nodes similar to a tree). So given your graph of patchesets I should be able to reconstruct your repository at any point in time.

Practical: Share my git repo

Git core concepts #5 & #6 #5 Branching is a low cost operation. Merging mostly just works. Branch and merge regularly. #6 When you want to refer to a git commit, use its SHA.

Git power Once you get branches some commands start to make sense: ● git stash – need to flip branches before a commit? ● git bisect – work out which patchset killed your build ● git rebase – apply a patch set to a different part of the DAG and change history **CAREFULL!**

Git power extras ● Hook scripts, found under.git ● gitk – visual help with your git ● Git Bash completion – handy :) ● git cherry-pick – apply a single patch to your tree

Learning more ● Gitcasts - ● Git ready blog - ready ● Pragmatic Version Control Using Git – book from the PragProg stable ● Github guides -