GithubHelp home page GithubHelp logo

git-tutorial's Introduction

Git Tutorial

Used git, but only a little? Want to know more about collaborating with other people? Check out our git tutorial!

This will be an intermediate level git tutorial. It assumes you know how to do the basics, like create a repository, add and commit files, and what a branch might be useful for. If you've used git for your own projects but haven't used it when collaborating with other people, this is for you! If you're brand new to git, we'll be reviewing the basics at the beginning. If you're a git expert, feel free to share you expertise!

This accompanies slides. This tutorial was developed for PyLadies Vancouver.

Structure

Instructions for following the tutorial are in the docs folder. Code to modify and play with is in the code folder. Tests can be run with python -m unittest or python -m unittest code.test_cattery from this directory.

Prerequisites

This assume you know the basics of using git on a single-person project. Specifically, this assumes you know how to:

  • Create a new repo (git init)
  • Get an existing repo (git clone)
  • Stage changes for commit (git add)
  • Commit changes (git commit)
  • Push changes to remote (git push)
  • Get updates (git pull)
  • Check the current status (git status, git diff, git diff --cached)

If you're unsure on any of those, see the basics section.

Other prerequisites:

  • A Github account
  • Git
  • Python
  • Command line (UNIX shell or Windows Powershell)

Goals

By the time you're done, you should know how to contribute to an open source project. We're covering how to:

  • Fork a project
  • Make changes in a branch
  • Keep up with upstream changes
  • Make pull request
  • Merge a branch

We're also showing two workflows.

  • Open-source contributor
  • Don't have commit access to the project repository
  • Must fork & make a pull request
  • Someone else merges changes
  • Core contributor / employee
  • Have commit access to the project repository
  • Can merge your own changes
  • Can still use pull requests to encourage code review

Other Resources

Created by

  • Holly Becker
  • Python developer
  • Linux user
  • 4 years using git
  • @Hwesta on Twitter & Github
  • Ian Neufeld (Zee)
  • C# / Unity developer
  • Windows user
  • 8 years creating & resolving merge conflicts

Some code from catinabox Python testing tutorial.

License

The content of this project is licensed CC-BY-SA, and the example source code is licensed under the MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.