DEVNET Introduction to Git. Ashley Roach Principal Engineer Evangelist

Similar documents
Git, Atom, virtualenv, oh my! Learn about dev tools to live by!

NXOS in the Real World Using NX-API REST

Managing Network Configurations with Git and GitLab

NetDevOps Style Configuration Management for the Network

Cisco Spark Messaging APIs - Integration Platforms as a Service Real World Use-Cases

DevNet Workshop-Hands-on with CloudCenter and Jenkins

CloudCenter for Developers

Cisco UCS Agentless Configuration Management Ansible or Microsoft DSC

Managing Cisco UCS with the Python SDK

Your API Toolbelt Tools and techniques for testing, monitoring, and troubleshooting REST API requests

Kuber-what?! Learn about Kubernetes

Hands On Exploration of NETCONF and YANG

BGP in the Enterprise for Fun and (fake) Profit: A Hands-On Lab

Automation with Meraki Provisioning API

Getting Started With Containers

Insights into your WLC with Wireless Streaming Telemetry

Git. Presenter: Haotao (Eric) Lai Contact:

Magical Chatbots with Cisco Spark and IBM Watson

Coding Getting Started with Python

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

Hands-On with IoT Standards & Protocols

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

Cisco Spark Widgets Technical drill down

Software Development I

Getting Started with OpenStack

Finesse APIs: Getting started with the REST APIs and XMPP events

Submitting your Work using GIT

Get Hands On With DNA Center APIs for Managing Intent

DevOps CICD for VNF a NetOps Approach

Cisco SD-Access Hands-on Lab

TRex Realistic Traffic Generator


NSO in Brownfield: Fully Automated One-Click Reconciliation

WORKSHOP: from Zero to a Network Application with #golang

Introduction to OpenConfig

Automation and Programmability using Cisco Open NXOS and DevOps Tools

Tetration Hands-on Lab from Deployment to Operations Support

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018

GETTING TO KNOW GIT: PART II JUSTIN ELLIOTT PENN STATE UNIVERSITY

2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

FEEG Applied Programming 3 - Version Control and Git II

Deploying Cloud-Agnostic Applications with Cisco CloudCenter

CSE 391 Lecture 9. Version control with Git

Git Introduction CS 400. February 11, 2018

A BASIC UNDERSTANDING OF VERSION CONTROL

Using GitHub and SourceTree to work with DITA TC repositories

An Introduction to Monitoring Encrypted Network Traffic with "Joy"

Hybrid Cloud Automation using Cisco CloudCenter API

Managing The Digital Network Workforce Transformation

Cisco Container Platform

Cisco WAN Automation Engine (WAE) Network Programmability with Segment Routing

Empower your testing with Cisco Test Automation Solution Featuring pyats & Genie

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Object Oriented Programming. Week 1 Part 2 Git and egit

Version Control: Gitting Started

Privacy Requirements Scoping

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

A quick (and maybe practical) guide to Git and version control. By Jay Johnson

Spark SDK Video - Overview and Coding Demo

Version Control with Git ME 461 Fall 2018

CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic

Consuming Model-Driven Telemetry

Creating a custom gadget using the Finesse JavaScript Library API

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

Coding Intro to APIs and REST

Who wants to be a millionaire? A class in creating your own cryptocurrency

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

Introduction to Git and Github

Routing Underlay and NFV Automation with DNA Center

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Git for Version Control

European DevNet Pros Panel

NetDevOps for the Network Dude How to get started with API's, Ansible and Python

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Introducing Cisco Network Assurance Engine

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

Introduction to distributed version control with git

An Introduction to Developing for Cisco Kinetic

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

GIT. CS 490MT/5555, Spring 2017, Yongjie Zheng

Git! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter!

CS 390 Software Engineering Lecture 5 More Git

Software Revision Control for MASS. Git Installation / Configuration / Use

DevNet Workshop-Learning Cisco platform Exchange Grid (pxgrid) Dynamic Topics

L Modeling and Simulating Social Systems with MATLAB

Effective Software Development and Version Control

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Git & Github Fundamental by Rajesh Kumar.

Software Project (Lecture 4): Git & Github

VXLAN EVPN Fabric and automation using Ansible

Customer s journey into the private cloud with Cisco Enterprise Cloud Suite

Version control with git and Rstudio. Remko Duursma

Version Control Systems: Overview

PnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure

Cisco Spark. Questions? Use Cisco Spark to communicate with the speaker after the session. How

Git: Distributed Version Control

Version control with Git.

Transcription:

DEVNET-1080 Introduction to Git Ashley Roach Principal Engineer Evangelist Twitter: @aroach Email: asroach@cisco.com

Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session in the Cisco Live Mobile App 2. Click Join the Discussion 3. Install Spark or go directly to the space 4. Enter messages/questions in the space cs.co/ciscolivebot#devnet-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

Agenda Introduction Quick overview of Git Workshop Resources

WHY ARE WE HERE? It s kindof like: - Snapshots of VMs - Incremental backups of files - Wiki versioning When you make a mistake or want to do some experimenting, you can do that in a safe way DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 7

Why version control? To Protect yourself and others

What does this have to do with Networking or Data Center?

NetDevOps CICD Pipeline Demonstration Create Proposed Branch Update Configuration Test Configuration Push Proposed Changes Send Notification Deploy Changes and Test Build Test Network Build Automation Starts Automated Pipeline Credit: Hank Preston DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 10

See also DEVNET-2203 Build a Network Configuration CICD Pipeline (Thurs, Feb 1, 0900 DEVNET-1725 How to Be a Network Engineer in a Programmable Age (Tues, Jan 30, 1300) DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 11

Git vs. GitHub Git is an open source distributed version control system / technology GitHub is a commercial company, that runs GitHub.com based on Git VCS DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 12

Git: Technical Overview

DISTRIBUTED VERSION CONTROL Opens up to new workflows: git flow Each system has an exact replica of the repo as other collaborators. https://git-scm.com/images/about/workflow-b@2x.png DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 14

Under the hood Changes are stored in trees Trees contain changed files Commits contain trees http://git-scm.com/figures/18333fig0903-tn.png DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 15

Getting Started with Git Starting from GitHub (screenshot flow of new project) Starting from your workstation (git init) DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 16

Getting Started with CLI: GIT CONFIG So you can be held accountable, configure git $ git config --global user.name "Your Name Comes Here" $ git config --global user.email you@yourdomain.example.com DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 17

Getting Started: Cloning Projects No password Set up SSH key on remote server (e.g. ssh-keygen) $ git clone git@github.com:aroach/upgraded-guacamole.git $ git clone https://github.com/aroach/upgraded-guacamole.git DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 18

Getting Started: Local Repository DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 19

What s inside.git? DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 20

DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 22

GIT ADD Add any files in your repository to git stage https://git-scm.com/images/about/index1@2x.png $ git add. 24 DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

STAGING AREA Hat tip: @GeorgiaReh DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 25

GIT COMMIT Store your changes into a commit Saves all of your changes together / save point Commit does NOT push $ git commit m Initial commit DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 26

Git Log: History of commits DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 27

BRANCHING: Your safe place Makes a pointer to your code Moves HEAD around $ git branch <name> $ git branch testing $ git commit m new $ git checkout master http://git-scm.com/figures/18333fig0307-tn.png DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 28

MERGING git merge <topic> You must be on the branch you want to merge INTO when you execute this command (e.g. master) $ git merge <branch> DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 29

GOING BACKWARDS Generate a new commit that undoes all of the changes introduced in <commit>, then apply it to the current branch. $ git revert <commit> DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 30

SHARE YOUR CHANGES git push <destination> <branch> git push origin master $ git remote add <name> <url> $ git push <name> <branch> $ git push origin master DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 31

GIT CLIENTS CLI Client IDE Clients VIM: airblade/vim-gitgutter Emacs: magit GUI Clients SourceTree Git Kracken DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 32

DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 35

DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 36

Come find me after today I ll be waiting Ashley Roach asroach@cisco.com @aroach http://github.com/aroach http://linkedin.com/in/ashleyroach Cisco DEVNET @CiscoDevNet http://github.com/ciscodevnet DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 37

Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session in the Cisco Live Mobile App 2. Click Join the Discussion 3. Install Spark or go directly to the space 4. Enter messages/questions in the space cs.co/ciscolivebot#devnet-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

Please complete your Online Session Evaluations after each session Complete 4 Session Evaluations & the Overall Conference Evaluation (available from Thursday) to receive your Cisco Live T-shirt All surveys can be completed via the Cisco Live Mobile App or the Communication Stations Complete Your Online Session Evaluation Don t forget: Cisco Live sessions will be available for viewing on-demand after the event at www.ciscolive.com/global/on-demand-library/. 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

Continue Your Education Demos in the Cisco campus Walk-in Self-Paced Labs Tech Circle Meet the Engineer 1:1 meetings Related sessions DEVNET-1080 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 40

Thank you