Introduction to Git and Github Joshua imtraum.com.

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.
Patterns & practices Symposium 2013 Introducing Git version control into your team Mark
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.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Peter Ogden and Josh Levine.  Motivation  High level overview  Walk through the common operations  How not to break things (too badly)
GIT An introduction to GIT Source Control. What is GIT (1 of 2) ▪ “Git is a free and open source distributed version control system designed to handle.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
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.
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.
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
Version Control System Lisa Palathingal 03/04/2015.
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.
© 2015 by Herb Holyst Introduction to git Cytomics Workshop December, 2015.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
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.
INTRODUCTION TO GIT. Install Egit for eclipse Open eclipse->Help->Install New Software Search for one of the following -
Technical Presentation by: David Spano. About Git (VCS) Simple Git Commands Branching Github Git GUI Summary.
Git How to 1. Why Git To resolve problems in lab exams (accidental deletions) Use existing Libraries with ease (Statistics and Computer) Prepare undergraduates.
Lecture 5 Remotes Sign in on the attendance sheet! Turn in homework at the front!
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
Version Control Systems
Basics of GIT for developers and system administrators
M.Sc. Juan Carlos Olivares Rojas
Information Systems and Network Engineering Laboratory II
Version Control Systems
CReSIS Git Tutorial.
Version Control overview
Version control, using Git
Version Control with Git and GitHub
Version Control Systems
An introduction to version control systems with Git
Version Control with Git accelerated tutorial for busy academics
Distributed Version Control with git
Akshay Narayan git up to speed with RCS Akshay Narayan
An introduction to version control systems with Git
The Big Picture
SIG: Open Week 1: GitHub Tim Choh.
An introduction to version control systems with Git
Git CS Fall 2018.
Version control with Git
Introduction to Git and GitHub
Version Control with Git and GitHub
Git Introduction.
Git GitHub.
Introduction to The Git Version Control System
Advanced Git for Beginners
Presentation transcript:

Introduction to Git and Github Joshua imtraum.com

Introduction to Git and Github An overview of Git Getting started on Windows Using Git from the Command Line Creating Repositories Working with code Working with Remotes A simple development workflow Some GitHub stuff

Git is… “A pubescent kid who thinks it’s totally cool to act like a moron on the internet, only because no one can actually reach through the screen and punch their lights out.” – Urban Dictionary

Git is… Git is an open source distributed version control system designed for speed and efficiency.

Git is… Git is an open source distributed version control system designed for speed and efficiency. Git is DISTRIBUTED (but mostly local) Git is FAST Git is COOL

Git Isn’t like TFS, VSS or Subversion hard to learn great at versioning large binary files (media for example)

Why Git? Working with Git will change how you develop concurrent software. Work local by default, work with server when needed It’s fast, Ferreals fast Branches are Easy, not Scary Merges are Trivial (Reintegration Merges == ERMAHGERD) Cryptographically verifiable Every repository is a backup in some form Scriptable

Why Git? Git doesn’t store files as deltas Git does store the entire file as a blob Referenced by the SHA1 file checksum A recursive manifest of SHA pointers for structure and renames Renames are heuristic (default 50%, configurable) Git database is immutable, though you can re-write history Git branches aren’t just another folder Git has a single workspace

Gitting Started on Windows Install msysgit from Choose (and install) a Git Interface GitHub for Windows (Phil Haack) TortoiseGIT Git Extensions Command Line (Powershell) Many others available Set your name and address Via Gui Via Command Line git config –global user.name “Joshua Gall” git config –global user.

My Git Environment I prefer a command line environment based on msysgit Powershell Console2 Posh-Git Sublime Text 2 DiffMerge Using Git via command line will help you adjust to the differences between Git and other SCM’s. demo

Everyday Git Commands Create Repository init clone Snap Shots add status diff commit reset rm, mv stash Branching and Merging branch merge checkout log tag Sharing fetch push remote Inspection log, diff

Remotes Remotes are what make Git Distributed and Confusing Remotes are just a URL that’s been aliased Commands remote push fetch (or pull) merge Git protocols Local – read/write a file system (local, share, friends computer) Git – generally read-only SSH – Git protocol over SSH HTTP/S

Cool GitHub Stuff GitHub hosts repositories – a remote for your local repo GitHub hosts Wiki’s versioned by Git GitHub has simple defect tracking Pull Requests – Code Review and Collaboration Numerous ways to navigate your code demo

A Simple Git Workflow To work on something new, create a descriptively named branch off of master. This is a topic branch. Commit to that branch locally and regularly push your work to the same named branch on the server. Keep your topic branch up to date with master. When you need feedback or help, or you think the branch is ready for merging, open a pull request After someone else has reviewed and signed off on your new feature, merge it into master. Once deployed to master, you can and should deploy immediately.

Introduction to Git and Github Helpful Git Resources git-scm.com – Git Documentation git-scm.com github.com – Repository Hosting github.com gitref.org – Reference Materials gitref.org progit.org – Downloadable Book progit.org try.github.com – Git Tutorial try.github.com Follow imtraum.com