Arduboy and Github


(Ross) #1

Arduboy and Github


This is wiki topic. Feel free to make this document awesome. Keep this short, we just want to get people going with github and document useful links.

Introduction


Arduboy relies upon git and Github to help build a better project. Github is a great tool to start building your projects, and it is as simple as installing Git. This guide should help you install Git, become more familiar with Git and Github and finally give you an understanding of how to use the Arduboy Library in your own projects, or even make changes, fix bugs, or add features to not only your own version of the Arduboy Library, but also help build a better official Arduboy Library by pushing your changes to our Git source repository hosted on Github.

List of Definitions


Provided are some key terms that will assist in reading this guide. Most definitions have been developed from the relevant Wikipedia entry.

Application program interface (API)
  A set of consistent routines, protocols, and tools for building software.

Git
  a version control system that is widely used for software development.

  • repository
      an on-disk data structure that stores metadata for files and/or directory structure.
  • branch
      Duplicates of objects in a repository to allow for parts of software to be developed in parallel.
  • clone
      copy a repository.
  • master-branch:

Github
  an website that hosts Git repositories. https://github.com.

  • fork
    ##Arduboy Projects on Github

Official Arduboy repositories found on Github.

The Arduboy Library

All work donefor the Arduboy Library is tracked on Github.

Arduboy Library · Github repository for the Arduboy Library.
https://github.com/Arduboy/Arduboy

This is the official repository for the Arduboy project. The master branch in this repository is not considered stable and is not meant to be used when building your games. When developing your games, please use a stable branch. The current stable release, as of 17/05/16, is v1.1 and can be found using the v1.1 tag.

Stable Release Tags
Arduboy 1.1 v1.1 tag

Releases - view all
Arduboy 1.1 archived file

Which Branch Should I Use?

The source found in the master branch for the Arduboy libraries listed above are the latest development versions of the libraries. The master branch, for us, is like the rough draft for the next version. So the source provided in the master branch will not be the same as the libraries installed through the Arduino Library Manager or on Codebender, which will always use the latest stable branch from the Arduboy repository.

Not the master branch.

Simply put: the master branch should not be used to develop games that you plan on sharing with other people, always use the tag for the latest stable release when developing your games. This can’t be stressed enough.

:heavy_check_mark: For normal sketch development, use the Arduboy Library, version 1.1 (v1.1 tag). This version of the Aruboy library is also installed by following Step 2 of the Quick Start Guide.

Other Repositories

Other repositories associated with the Arduboy project.

Arduboy Classic · Arduino 1.0.x/Codebender
https://github.com/Arduboy/ArduboyClassic

Codebender :100:


Codebender will always use the latest stable production API, and is the fastest and easiest way to get started programming with Arduboy.

Arduboy On Codebender · The Arduboy repository of games on Codebender.
https://codebender.cc/user/ArduboyGames

Git


Git is a program that can be installed on your personal computer to help track the changes you make to your personal software projects. Git also allows teams to easily work from a single version of their source code. Any changes made by members of the team to source code will be tracked by a source repository that git creates when you use it for your project. A succinct definition from Wikipedia is provided.

Git (/ɡɪt/) is a version control system that is widely used for software development and other version control tasks. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.

- https://en.wikipedia.org/

Installing Git

Windows

Linux

Mac

Github


Using Github is covered extremely well across the internet. This guide will offer only links and reference to information and topics covered elsewhere.

What is Github?

Working on the Arduboy Project


Issues

Using the Respository

Clone the Repository

Track Changes

Commit Changes

Push Changes


(Ross) #2

Italics or monospacing for reference to the master branch. I’m starting to think the italics look a bit better.

master vs. master vs. master

Edit: you are way ahead of me @MLXXXp, gotcha.