Using GitHub to Share with SparkFun a

Size: px
Start display at page:

Download "Using GitHub to Share with SparkFun a"

Transcription

1 Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing with the Original Repository Pull Requests Resources and Going Further Introduction In early 2013, SparkFun made the decision to share all of the code and design files for our products via GitHub. While we ve always striven to provide as much information on our products as possible (including complete source files; after all, we are all about Open Source!), in the past, that s been a very one-way channel. Our customers can see the source, download it, and use it as they please, but there s been no (easy) way for them to share changes with us (and, by extension, with the rest of the community). By moving our product source to GitHub, we hope to change that. Obviously, the sheer number of products we have means that migrating them to GitHub is a slow process; in fact, we re not really trying to get all of our older products moved over at all. New products (those we design in house, anyway) will always launch with a GitHub repo containing at a minimum the source files for the product and most likely containing example code, getting started information, and a (curated, but open) wiki that can be used to exchange information with other users about the product. What is git? Git is a source control package originally developed by Linus Torvalds for tracking changes during development of the Linux kernel. It s intended to make collaboration on projects easier by allowing locally stored repositories to be synchronized against a remotely stored master copy. As is so often the case, the choice of source control package tends to be a deeply personal and subjective matter. We chose git (and GitHub) because they offer good support for all the tools we Page 1 of 17

2 use at a reasonable price and are free for our customers to use to interact with us. So what s GitHub, then? GitHub is, at it s most basic, a web-based collaboration tool based on the git source control package. It allows multiple users to access git projects (called repositories ), track changes, manage revisions, and merge with each other s different version. The demarcation between git and GitHub can be fuzzy at times, until you get used to the tools. In general, things happening on the command line are using the git tool, and GitHub interactions will be done through the web page interface. Suggested Reading This tutorial isn t meant to get you up to speed on how to use git, in general- it s really just a stepby-step guide to show you how to make a change in a SparkFun repository and share that change with us. If you want to learn more about git and GitHub in general, we ve got a great tutorial about GitHub. Git is a phenomenal tool, even if you re not collaborating. Once you get the hang of it, it s super easy to use and extremely powerful. Gitting Started We re going to use the command line tools for git for this tutorial. While it may feel a bit archaic, the git command line interface has a couple of serious advantages: The command line interface is truly multiplatform. Following these instructions on a Mac, PC, or Linux box will all yield the same results. The command line interface is stable. There are lots of gui-based interfaces out there, and they change regularly. Even the official GitHub gui changes relatively often. The command line interface is predictable. It doesn t do things you don t ask it to do, as some graphical interfaces do. Page 2 of 17

3 Install the GitHub Client Visit the GitHub website, sign up for an account if you don t already have one, and install the client. I m not going to go into the details of doing this here, because there are better instructions on their website. Go ahead and get this taken care of; I ll wait. Once you ve finished your installation, open a Git Shell window. Again, I ll let you follow their instructions on how to do this. I m working in Windows 7, but the appearance of the command line window should be pretty similar no matter which operating system you re using. Regardless of the details (for example, the command line prompt you see), the git commands should behave the same way. Once you ve got the shell open, go ahead and type git and hit enter. The result should look something like this: If you don t see the command summary, you re in the wrong kind of shell. Make sure that you launched a Git Shell, which should have installed with git. Don t worry too much about these commands. We re really just concerned with whether or not you re in the right place to start working with git. Page 3 of 17

4 Forking a Repository Now that we ve gotten our client installed, we need to grab the repository that we want to make our changes on. We ll use the repository for the other GitHub tutorial for this example. Fork Globally The first step is to fork the repository from SparkFun s account to your own. While there are other ways to take a copy of the repository and work with it, forking is the preferred method, because it makes it easier to submit pull requests (which notify the original owner that you have changes that you d like considered for inclusion) later. Once you re on the repository page, look for the Fork this repo button. You can see it in the image above; forking is core functionality of GitHub, so, even if the interface has changed slightly, you should be able to find it. Click the button and you ll see something like this: Page 4 of 17

5 Looks just like the old version, no? If you ll note, though, the account name is different now it s in my account rather than the SparkFun account. Code Locally Now we need to make a local copy. While you can edit simple text files directly on GitHub, it s reasonable to assume most of your work will be done on a local terminal. Pick a location to store the files that you ll be working with (I store mine in a folder called Projects in my DropBox folder; git plays very well with DropBox!). Here s a sequence of commands to get those files from GitHub to your local computer and store them in a directory of your choosing: Page 5 of 17

6 Let s take the commands here one at a time: cd projects - change directory to projects. This is where I keep, well, my projects. git clone - Tell git you want to clone the repository located at this address. The address is case sensitive and git will choke if it s not exactly right. Cloning creates a copy of the repository, complete with push and pull links back to the original on GitHub. We ll talk about what this means in a bit. cd Github_Tutorial/ - change directory to Github_Tutorial. You ll need to be in this directory whenever you re working with this repository. ls - list the files in the directory. ls -a - list all the files currently in the directory. Files and folders prepended with a. will not normally show up when you type ls, so you need the -a switch to see them. The.git directory contains all the under-the-hood stuff git needs to work its magic. Never, ever mess with it..gitattributes contains some bookkeeping information telling git how to deal with certain file types; you don t really need to worry about it now, as it s not something you ll be modifying and is not found in all repositories..gitignore is a text file telling git which files it should skip when committing changes. A good example of files that you might want to exclude are.o files when building a software project, or the.b#x and.s#x files that EAGLE creates as back-ups when you re editing board layouts or schematics. Other files should be pretty self-explanatory they re the meat, the stuff you re really interested in editing. Committing, Pushing and Pulling Page 6 of 17

7 Now that you ve got a local copy and a copy on your GitHub account, there are four things that you ll need to know how to do in order to collaborate with SparkFun: Commit - committing is the process which records changes in the repository. Think of it as a snapshot of the current status of the project. Commits are done locally. Push - pushing sends the recent commit history from your local repository up to GitHub. If you re the only one working on a repository, pushing is fairly simple. If there are others accessing the repository, you may need to pull before you can push. Pull - a pull grabs any changes from the GitHub repository and merges them into your local repository. Sync - syncing is like pulling, but instead of connecting to your GitHub copy of the forked repo, it goes back to the original repository and brings in any changes. Once you ve synced your repository, you need to push those changes back to your GitHub account. Committing The first step in getting a change back to us is to commit it to your local repository. Look at this sequence of commands: Again, one command at a time: git status - checks the current status of the repository. This tells you a lot of things; at the moment, it s telling you that you don t have any uncommitted changes in your repository. touch README.md - create a README file. The.md suffix is indicative that the file will be formatted in Markdown, which is widely used for formatting on the GitHub website. git status - same command, second time. This time, you can see that there s a new file, but it s Page 7 of 17

8 untracked. That means it won t be included in the commit. You ll need to add it, first. git add. - add all untracked files to the repository (at least, those untracked files which are not omitted by the.gitignore file). You can, of course, add files individually by replacing the. with the file name. git status - now the README.md file is showing as a new file to be committed. git commit -m "Add README.md" - commit the recent changes. The -m switch allows you to enter a short double-quoted commit message. Omitting that switch will cause git to open a text editor so you can enter a longer message; save and close the text editor when you re done. Pushing Pushing sends your changes up to GitHub, so they can be shared with the rest of the world. It also serves as a hedge against data loss. Page 8 of 17

9 Pulling git status - our status tells us we have no local changes pending, but that the remote is one commit behind. This isn t actually checking against the remote repository, just letting us know how many times we ve committed since our last push. git remote -v - check out where our remote target is. We ll revisit this in a bit, when we start working on syncing to the original repository. git push -u origin master - push the changes in branch master (we re going to skip branches, in order to keep this tutorial kind of easy) to remote location origin, and remember the settings (- u). Pulling is the opposite of pushing it retrieves changes from the remote location and applies them to your local repository. You probably won t do it that much; it s more useful in a group environment where more than one person is submitting changes to a single repository. Page 9 of 17

10 Visit the repository page again; you ll see that, since we pushed it back to GitHub, the README.md file is now in the file list. We can change the text in that file right on GitHub, then pull the change back down to our local repository. Start by clicking the file name link. That ll give you this page: Since we didn t put anything in the file after we created it, there s nothing on the page. You can add something to the file by clicking the Edit button: Page 10 of 17

11 At the bottom of the page, you ll find a commit window which lets you put in a description, an extended description, and commit the changes. Now that you ve made a change on the server which is not reflected in your local repository, we ll need to pull it down. Page 11 of 17

12 git status - note that even though we know there s a difference on the server, git status does not reflect that, because it only gives us status on the local repository. git pull -u origin master - the syntax is the same as push, but the changes go in the other direction. At this point, our local repository is in sync with our GitHub repository. But what about the original repository? What if something has changed there, and we want to bring those changes into our copy (both local and on GitHub)? Syncing with the Original Repository Syncing is the process of getting changes from the original remote repository, the one you forked from in the first place, and bringing them into your local repository so that you can ensure that you re making changes on the most up-to-date version of the original. Since you don t have access to change the directory on the SparkFun GitHub page, like I do, you ll have to just follow along without any changes to the original repository, a sync is meaningless. I made a small change to one of the files in the repository, so now we ve got a fairly common scenario: most of the repository matches, but I have a new file I want to send to SparkFun, and SparkFun has some changes that I need to include. Adding the Remote Repository Before you can pull it to your local repository, you need to add the original repository s information to your local repository. Here s how to do that: Page 12 of 17

13 git remote add upstream - add a remote endpoint to grab code differences from. git remote -v - you can see here that we now have two different remotes to interface: our personal copy and SparkFun s copy. This will allow us to keep our copy up-to-date with SparkFun s in much the same way as we do with our own remote repository. git fetch upstream - fetch works like pull, except it creates a new branch for the incoming data rather than attempting to merge it immediately. This is a safe operation; you ll need to manually merge the incoming data. git branch -va - the -va switch displays all local and remote branches. A branch is just what it Page 13 of 17

14 sounds like the change log branches off from the original, and changes to the branch are tracked independently of changes to other branches. git merge upstream/master - merge attempts to reconcile differences between two branches, bringing the changes in the branch named (in this case upstream/master ) into the currently active branch (since we haven t changed it, master ). For most simple changes, merge will complete automatically. If it doesn t, this website has information about integrating an external merge tool with git, which is probably a good idea, since git s internal merge tool leaves a lot to be desired. git status - we re ahead of our remote again, since we pulled changes in from the master repository to our local repository. That means we need to git push - now our GitHub repository is up-to-date with the latest changes in the SparkFun master copy. But what about the changes we made? How do we get them to the SparkFun repository? At this point, you have all the tools and knowledge you need to fork a repository, make and commit changes to its contents, keep it up-to-date with SparkFun s master copy, and push it to GitHub. Only one thing remains: submitting a pull request, to ask SparkFun to include your changes in our master repository. Pull Requests The term pull request is a little confusing to some people. After all, aren t I asking to push files to your repository? In fact, no, you re requesting the master repository s owner to pull files from your repository. While the difference seems academic, it s a good one to remember: you are actively requesting someone else to add something to their workflow, so don t expect an instant response. Page 14 of 17

15 Pull Request Etiquette As I mentioned above, a pull request, even a very important and well-structured one, is asking someone else to do work. To make it more likely that your pull request will be honored, here are some things you can do to make that work as easy as possible for the person at the receiving end: Keep it simple: Don t rewrite a library completely and expect us to accept the pull request. We simply don t have time to validate something that large. Keep it recent: Don t submit a pull request if your repository is wildly out-of-date. If we have to muck through dozens of unrelated changes caused by age to figure out which change you re submitting, we ll probably reject the pull request. Don t be offended: If we don t accept your pull request, please don t take it personally. We ll let you know why we rejected it, and we may make the suggested changes anyway, if it s easier for us to include them manually than by accepting the pull request. Submitting a Pull Request We re in a good position now to walk through a pull request: we ve got changes in our repository that we want to send the SparkFun repository. Click the Pull request button. Again, the interface may have changed, but the button will still be there, somewhere. Page 15 of 17

16 Click the Click to create pull request for this comparison button. That ll bring up this form: Page 16 of 17

17 Put in a title, and a description. Be thorough. Your chances of having your pull request accepted are greatly increased if the icon in the lower right indicates that the pull can be automatically merged. Click the Send pull request button to submit your pull request. You re done! All that s left is for us to accept (or deny) the pull request. Thanks for taking the time to contribute! Resources and Going Further Git and GitHub are incredibly powerful tools which are gaining widespread momentum in the open source hardware community. If you re interested in learning more about them, here are some resources you can turn to: GitHub at Code School - Code School has a great introductory, interactive tutorial for learning about git and GitHub. GitHub s help page - Learn it, use it, love it GitHub boot camp - GitHub s official Getting Started page SparkFun s GitHub site learn.sparkfun.com CC BY-SA 3.0 SparkFun Electronics Niwot, Colorado Page 17 of 17

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

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

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master... Table of Contents Getting the files for the first time...2 Making Changes, Commiting them and Pull Requests:...5 Update your repository from the upstream master...8 Making a new branch (for leads, do this

More information

Github/Git Primer. Tyler Hague

Github/Git Primer. Tyler Hague Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

Intro to Github. Jessica Young

Intro to Github. Jessica Young Intro to Github Jessica Young jyoung22@nd.edu GitHub Basics 1. Installing GitHub and Git 2. Connecting Git and GitHub 3. Why use Git? Installing GitHub If you haven t already, create an account on GitHub

More information

Tips on how to set up a GitHub account:

Tips on how to set up a GitHub account: Tips on how to set up a GitHub account: 1. Go to the website https://github.com/, you will see the following page: Figure 1: The GitHub main webpage (before you create an account and sign in) Then choose

More information

Windows. Everywhere else

Windows. Everywhere else Git version control Enable native scrolling Git is a tool to manage sourcecode Never lose your coding progress again An empty folder 1/30 Windows Go to your programs overview and start Git Bash Everywhere

More information

The Old World. Have you ever had to collaborate on a project by

The Old World. Have you ever had to collaborate on a project by What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone

More information

Setting up GitHub Version Control with Qt Creator*

Setting up GitHub Version Control with Qt Creator* Setting up GitHub Version Control with Qt Creator* *This tutorial is assuming you already have an account on GitHub. If you don t, go to www.github.com and set up an account using your buckeyemail account.

More information

How to git with proper etiquette

How to git with proper etiquette How to git with proper etiquette Let's start fixing how we use git here in crew so our GitHub looks even more awesome and you all get experience working in a professional-like git environment. How to use

More information

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b Git Cheat Sheet Git Basics Rewriting Git History git init Create empty Git repo in specified directory. Run with no arguments to initialize the current directory as a git repository. git commit

More information

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

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin

More information

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Git 101: Overview 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Github icon 1 Install git and a create GitHub

More information

Lab 08. Command Line and Git

Lab 08. Command Line and Git Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize

More information

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook LING 1340/2340: Data Science for Linguists Na-Rae Han Objectives What do linguistic data look like? Tools: You should be taking NOTES! Git and

More information

Version Control for Fun and Profit

Version Control for Fun and Profit Version Control for Fun and Profit Chris Brady Heather Ratcliffe The Angry Penguin, used under creative commons licence from Swantje Hess and Jannis Pohlmann. Warwick RSE 30/11/2017 Version control 30/11/2017

More information

Getting started with GitHub

Getting started with GitHub Getting started with GitHub A beginner s guide. (There s no code in this slide deck!) Presented by Quinn Supplee https://github.com/quinns What is GitHub? GitHub is a code hosting platform for version

More information

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48 Git and GitHub Dan Wysocki February 12, 2015 Dan Wysocki Git and GitHub February 12, 2015 1 / 48 1 Version Control 2 Git 3 GitHub 4 Walkthrough Dan Wysocki Git and GitHub February 12, 2015 2 / 48 Version

More information

G E T T I N G S TA R T E D W I T H G I T

G E T T I N G S TA R T E D W I T H G I T G E T T I N G S TA R T E D W I T H G I T A A R O N H O O V E R & B R A D M I N C H J A N U A R Y 2 2, 2 0 1 8 1 Why use a version control system? Much of this document was blatantly cribbed from Allen

More information

Git Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at

Git Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at Git Workbook Self-Study Guide to Git Lorna Mitchell This book is for sale at http://leanpub.com/gitworkbook This version was published on 2018-01-15 This is a Leanpub book. Leanpub empowers authors and

More information

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

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global

More information

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017 GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created

More information

2 Initialize a git repository on your machine, add a README file, commit and push

2 Initialize a git repository on your machine, add a README file, commit and push BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal

More information

API RI. Application Programming Interface Reference Implementation. Policies and Procedures Discussion

API RI. Application Programming Interface Reference Implementation. Policies and Procedures Discussion API Working Group Meeting, Harris County, TX March 22-23, 2016 Policies and Procedures Discussion Developing a Mission Statement What do we do? How do we do it? Whom do we do it for? What value are we

More information

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

More information

A L A TEX-oriented intro to Git

A L A TEX-oriented intro to Git A L A TEX-oriented intro to Git the tex part is in the interactive demo not in the slides Danielle Amethyst Brake 22 October - 26 November, 2018 ICERM Semester on Nonlinear Algebra Inter-week collaboration

More information

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

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018 Introduction to Git Database Systems DataLab, CS, NTHU Spring, 2018 1 Outline Version control system Git basics Git branch Remote repository 2 Outline Version control system Git basics Git branch Remote

More information

Git Setup Help using GitKraken (CSE 154)

Git Setup Help using GitKraken (CSE 154) Git Setup Help using GitKraken (CSE 154) Introduction: Git enables keeping track of different versions of files as we keep editing them. To make sure we understand git properly, here are some terms you

More information

Git Tutorial. André Sailer. ILD Technical Meeting April 24, 2017 CERN-EP-LCD. ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36

Git Tutorial. André Sailer. ILD Technical Meeting April 24, 2017 CERN-EP-LCD. ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36 ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36 Git Tutorial André Sailer CERN-EP-LCD ILD Technical Meeting April 24, 2017 LD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 2/36

More information

Lutheran High North Technology The Finder

Lutheran High North Technology  The Finder Lutheran High North Technology shanarussell@lutheranhighnorth.org www.lutheranhighnorth.org/technology The Finder Your Mac s filing system is called the finder. In this document, we will explore different

More information

Submitting your Work using GIT

Submitting your Work using GIT Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points

More information

Git, the magical version control

Git, the magical version control Git, the magical version control Git is an open-source version control system (meaning, it s free!) that allows developers to track changes made on their code files throughout the lifetime of a project.

More information

Git Resolve Conflict Using Mine Command Line

Git Resolve Conflict Using Mine Command Line Git Resolve Conflict Using Mine Command Line We'll explore what approaches there are to resolve the conflict, and then we'll Please, fix them up in the work tree, and then use 'git add/rm ' as appropriate

More information

IC Documentation. Release 0.1. IC team

IC Documentation. Release 0.1. IC team IC Documentation Release 0.1 IC team Jan 22, 2019 Contents 1 How to contribute to IC 3 1.1 Prepare github.............................................. 3 1.2 Prepare your repositories.........................................

More information

Make Your Own Fritzing Parts a

Make Your Own Fritzing Parts a Make Your Own Fritzing Parts a learn.sparkfun.com tutorial Available online at: http://sfe.io/t144 Contents What is Fritzing? Download and Install Breadboard View Create a New Part Custom Breadboard SVG

More information

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week Lab #8 Git Agenda - Final Project Info - All things Git - Make sure to come to lab for Python next week Final Project Low Down The Projects are Creative AI, Arduino, Web Scheduler, ios and Connect 4 Notes

More information

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

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 WHO AM I? @tushar_rishav GSoC'16 student contributing to coala - a static code analysis tool, under Python So ware Foundation. A senior

More information

Azure Developer Immersion Getting Started

Azure Developer Immersion Getting Started Azure Developer Immersion Getting Started In this walkthrough, you will get connected to Microsoft Azure and Visual Studio Team Services. You will also get the code and supporting files you need onto your

More information

projecto Documentation

projecto Documentation projecto Documentation Release 0.0.1 Projecto Team September 08, 2014 Contents 1 Part I: Projecto Overview 3 1.1 Features.................................................. 3 1.2 Project Layout..............................................

More information

Source control with Subversion A user perspective

Source control with Subversion A user perspective http://svnbook.red-bean.com/ Source control with Subversion A user perspective Aaron Ponti What is Subversion? } It is a free and open-source version control system } It manages files and directories,

More information

Visualizing Git Workflows. A visual guide to 539 workflows

Visualizing Git Workflows. A visual guide to 539 workflows Visualizing Git Workflows A visual guide to 539 workflows Table of Contents Notation Collaboration Without Review or Branches Merge Conflicts Requesting Code Review Collaboration with Multiple Branches

More information

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you

More information

For Volunteers An Elvanto Guide

For Volunteers An Elvanto Guide For Volunteers An Elvanto Guide www.elvanto.com Volunteers are what keep churches running! This guide is for volunteers who use Elvanto. If you re in charge of volunteers, why not check out our Volunteer

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

Without further ado, let s go over and have a look at what I ve come up with.

Without further ado, let s go over and have a look at what I ve come up with. JIRA Integration Transcript VLL Hi, my name is Jonathan Wilson and I m the service management practitioner with NHS Digital based in the United Kingdom. NHS Digital is the provider of services to the National

More information

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners Getting Started Excerpted from Hello World! Computer Programming for Kids and Other Beginners EARLY ACCESS EDITION Warren D. Sande and Carter Sande MEAP Release: May 2008 Softbound print: November 2008

More information

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; Why should I use a VCS? Repositories Types of repositories: Private - only you and the

More information

Your . A setup guide. Last updated March 7, Kingsford Avenue, Glasgow G44 3EU

Your  . A setup guide. Last updated March 7, Kingsford Avenue, Glasgow G44 3EU fuzzylime WE KNOW DESIGN WEB DESIGN AND CONTENT MANAGEMENT 19 Kingsford Avenue, Glasgow G44 3EU 0141 416 1040 hello@fuzzylime.co.uk www.fuzzylime.co.uk Your email A setup guide Last updated March 7, 2017

More information

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy s Sylvain Bouveret, Grégory Mounié, Matthieu Moy 2017 [first].[last]@imag.fr http://recherche.noiraudes.net/resources/git/git-workflow-slides.pdf 1 / 16 Goals of the presentation Global history: multiple

More information

KTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -

KTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani - KTH Royal Institute of Technology SEMINAR 2-29 March 2017 Simone Stefani - sstefani@kth.se WHAT IS THIS SEMINAR ABOUT Branching Merging and rebasing Git team workflows Pull requests and forks WHAT IS THIS

More information

git-flow Documentation

git-flow Documentation git-flow Documentation Release 1.0 Johan Cwiklinski Jul 14, 2017 Contents 1 Presentation 3 1.1 Conventions............................................... 4 1.2 Pre-requisites...............................................

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Version Control. CSC207 Fall 2014

Version Control. CSC207 Fall 2014 Version Control CSC207 Fall 2014 Problem 1: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope you can remember what changes

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo, Lab TA: Sean Kross Lab 1 - Version control and HTML (2017-10-06) by Michael Bernstein, Scott Klemmer, Philip Guo, and

More information

Using Git to Manage Source RTL

Using Git to Manage Source RTL Using Git to Manage Source RTL CS250 Tutorial 1 (Version 082311) August 24, 2011 Brian Zimmer How to use this tutorial This class will be using Git for all of the labs and projects. This will allow the

More information

XP: Backup Your Important Files for Safety

XP: Backup Your Important Files for Safety XP: Backup Your Important Files for Safety X 380 / 1 Protect Your Personal Files Against Accidental Loss with XP s Backup Wizard Your computer contains a great many important files, but when it comes to

More information

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 Git CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 1 Lecture Goals Present a brief introduction to git You will need to know git to work on your presentations this semester 2 Git

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

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

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.

More information

Introduction, Instructions and Conventions

Introduction, Instructions and Conventions Encodo Systems AG Garnmarkt 1 8400 Winterthur Telephone +41 52 511 80 80 www.encodo.com Encodo GIT handbook Introduction, Instructions and Conventions Abstract This document is an introduction to using

More information

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

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU Lab 01 How to Survive & Introduction to Git Web Programming DataLab, CS, NTHU Notice These slides will focus on how to submit you code by using Git command line You can also use other Git GUI tool or built-in

More information

Using git to download and update BOUT++

Using git to download and update BOUT++ ER Meeting 14th Sept 2015 1/28 Using git to download and update BOUT++ Peter Hill ER Meeting 14th Sept 2015 2/28 Outline What is git? Getting git Basic git usage Getting BOUT++ Compiling BOUT++ Running

More information

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control

More information

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

CS 520: VCS and Git. Intermediate Topics Ben Kushigian CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards

More information

Version control with git and Rstudio. Remko Duursma

Version control with git and Rstudio. Remko Duursma Version control with git and Rstudio Remko Duursma November 14, 2017 Contents 1 Version control with git 2 1.1 Should I learn version control?...................................... 2 1.2 Basics of git..................................................

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

Basics of Git GitHub

Basics of Git GitHub Basics of Hub Why this Webinar? You registered for Microsoft codefundo++ Deadline to submit your idea is Oct 12th, 23:59 IST Getting you started with & Hub Agenda What is Version Control? What is the difference

More information

Git Introduction CS 400. February 11, 2018

Git Introduction CS 400. February 11, 2018 Git Introduction CS 400 February 11, 2018 1 Introduction Git is one of the most popular version control system. It is a mature, actively maintained open source project originally developed in 2005 by Linus

More information

Git better. Collaborative project management using Git and GitHub. Matteo Sostero March 13, Sant Anna School of Advanced Studies

Git better. Collaborative project management using Git and GitHub. Matteo Sostero March 13, Sant Anna School of Advanced Studies Git better Collaborative project management using Git and GitHub Matteo Sostero March 13, 2018 Sant Anna School of Advanced Studies Let s Git it done! These slides are a brief primer to Git, and how it

More information

contribution-guide.org Release

contribution-guide.org Release contribution-guide.org Release August 06, 2018 Contents 1 About 1 1.1 Sources.................................................. 1 2 Submitting bugs 3 2.1 Due diligence...............................................

More information

Version Control with Git ME 461 Fall 2018

Version Control with Git ME 461 Fall 2018 Version Control with Git ME 461 Fall 2018 0. Contents Introduction Definitions Repository Remote Repository Local Repository Clone Commit Branch Pushing Pulling Create a Repository Clone a Repository Commit

More information

How to set up SQL Source Control The short guide for evaluators

How to set up SQL Source Control The short guide for evaluators GUIDE How to set up SQL Source Control The short guide for evaluators 1 Contents Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first

More information

It s possible to get your inbox to zero and keep it there, even if you get hundreds of s a day.

It s possible to get your  inbox to zero and keep it there, even if you get hundreds of  s a day. It s possible to get your email inbox to zero and keep it there, even if you get hundreds of emails a day. It s not super complicated, though it does take effort and discipline. Many people simply need

More information

FPLLL. Contributing. Martin R. Albrecht 2017/07/06

FPLLL. Contributing. Martin R. Albrecht 2017/07/06 FPLLL Contributing Martin R. Albrecht 2017/07/06 Outline Communication Setup Reporting Bugs Topic Branches and Pull Requests How to Get your Pull Request Accepted Documentation Overview All contributions

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

Laboratorio di Programmazione. Prof. Marco Bertini

Laboratorio di Programmazione. Prof. Marco Bertini Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each

More information

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

CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic - basics Matthäus Zloch GESIS Outline for this session Git introduction and some theory Git command basics (plus some little advanced)

More information

Lab Exercise Git: A distributed version control system

Lab Exercise Git: A distributed version control system Lunds tekniska högskola Datavetenskap, Nov 21, 2016 EDAF45 Programvaruutveckling i grupp projekt Labb 2 (Git): Labbhandledning Checked on Git versions: 2.7.4 Lab Exercise Git: A distributed version control

More information

Lecture 3: Processing Language Data, Git/GitHub. LING 1340/2340: Data Science for Linguists Na-Rae Han

Lecture 3: Processing Language Data, Git/GitHub. LING 1340/2340: Data Science for Linguists Na-Rae Han Lecture 3: Processing Language Data, Git/GitHub LING 1340/2340: Data Science for Linguists Na-Rae Han Objectives What do linguistic data look like? Homework 1: What did you process? How does collaborating

More information

Chapter 5. Version Control: Git

Chapter 5. Version Control: Git Chapter 5 Version Control: Git The Replication Crisis continues to heat up discussion across social science. Hence principled researchers want to make their work easy to replicate and reputable journals

More information

Improving Your Life With Git

Improving Your Life With Git Improving Your Life With Git Lizzie Lundgren elundgren@seas.harvard.edu Graduate Student Forum 26 April 2018 Scenarios to Avoid My code was deleted from 90-day retention! Crap, I can t remember what I

More information

CheckBook Pro 2 Help

CheckBook Pro 2 Help Get started with CheckBook Pro 9 Introduction 9 Create your Accounts document 10 Name your first Account 11 Your Starting Balance 12 Currency 13 We're not done yet! 14 AutoCompletion 15 Descriptions 16

More information

Online Remote Repositories

Online Remote Repositories Online Remote Repositories GitHub and Bitbucket centralized Git repositories for dissemination and collaboration Barry Grant bjgrant@umich.edu http://thegrantlab.org Recap: Client-Server vs Distributed

More information

How to be a 1337 h4ck3r: Git + Linux

How to be a 1337 h4ck3r: Git + Linux How to be a 1337 h4ck3r: Git + Linux An introduction to Git, version control, and Linux by Samsara Counts, Pat Cody, and Joseph Schiarizzi Slides adapted from Neel Shah and Phil Lopreiato DISCLAIMER: GW

More information

Table of Contents. Concepts

Table of Contents. Concepts Table of Contents Git Repositories Overview Learn about Git Quickstarts Create repo - Web Create repo - CLI Create repo - Visual Studio Create repo - IntelliJ Create repo - Xcode Create repo - Eclipse

More information

From Commits to Collaboration: A Git Tutorial for Social Scientists

From Commits to Collaboration: A Git Tutorial for Social Scientists From Commits to Collaboration: A Git Tutorial for Social Scientists Paul Sangrey, University of Pennsylvania December 12, 2017 The Replication Crisis continues to heat up discussion across social science.

More information

Table of Laplace Transforms

Table of Laplace Transforms Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms

More information

Beyond git add/commit/push

Beyond git add/commit/push add Working dir commit Staging area push Local Remote Based on original version made by Alexis López @aa_lopez About us @tuxtor @edivargas jorgevargas.mx github.com/tuxtor Review traditionals commands

More information

Git & Github Fundamental by Rajesh Kumar.

Git & Github Fundamental by Rajesh Kumar. Git & Github Fundamental by Rajesh Kumar About me Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz www.scmgalaxy.com 2 What is git Manage your source code versions Who should use Git Anyone

More information

Blackfin Online Learning & Development

Blackfin Online Learning & Development Presentation Title: Multimedia Starter Kit Presenter Name: George Stephan Chapter 1: Introduction Sub-chapter 1a: Overview Chapter 2: Blackfin Starter Kits Sub-chapter 2a: What is a Starter Kit? Sub-chapter

More information

How to version control like a pro: a roadmap to your reproducible & collaborative research

How to version control like a pro: a roadmap to your reproducible & collaborative research How to version control like a pro: a roadmap to your reproducible & collaborative research The material in this tutorial is inspired by & adapted from the Software Carpentry lesson on version control &

More information

How to export data from Reckon Quicken Personal Plus to Moneydance By Michael Young

How to export data from Reckon Quicken Personal Plus to Moneydance By Michael Young How to export data from Reckon Quicken Personal Plus to Moneydance 2011 By Michael Young The information provided in this guide is provided to help users of Reckon Quicken Personal Plus transfer data to

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 1 - Version control and HTML (2018-10-03) by Michael Bernstein, Scott Klemmer, Philip Guo, and Sean Kross [Announce

More information

Learn GIT IN A MONTH OF LUNCHES

Learn GIT IN A MONTH OF LUNCHES SAMPLE CHAPTER Learn GIT IN A MONTH OF LUNCHES by Rick Umali Sample Chapter 6 Copyright 2015 Manning Publications brief contents 1 Before you begin 1 2 An overview of Git and version control 8 3 Getting

More information

CSE 332: Data Structures and Parallelism Autumn 2017 Setting Up Your CSE 332 Environment In this document, we will provide information for setting up Eclipse for CSE 332. The first s ection covers using

More information

Code Repository. P Blanchfield

Code Repository. P Blanchfield Code Repository P Blanchfield Local Copy Methods There are two main ways of handling Code Repositories Local copy Remote only When you have a remote only system like SVN You copy to your local machine

More information

If you ve never used Quicken, begin here. This chapter tells you how to

If you ve never used Quicken, begin here. This chapter tells you how to In This Chapter Installing and setting up Quicken Chapter 1 Setting Up Shop Setting up your bank (or other) accounts if you re a first-time user Providing a Quicken overview Solving setup problems If you

More information

Pragmatic Guide to Git

Pragmatic Guide to Git Extracted from: Pragmatic Guide to Git This PDF file contains pages extracted from Pragmatic Guide to Git, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy,

More information

Introduction to Git and Github Repositories

Introduction to Git and Github Repositories Introduction to Git and Github Repositories Benjamin Audren École Polytechnique Fédérale de Lausanne 29/10/2014 Benjamin Audren (EPFL) CLASS/MP MP runs 29/10/2014 1 / 16 Version Control survey Survey Who

More information