Git
Git is an open source popular distributed version control system (VCS) and is available for Mac OS X, Windows, Linux and Solaris. It is free and open source.[1][2][3]
Basics
Forget what you know about any other VCS.[4]
Git is fully featured when used as a command line tool.[5]
Usage for hardware projects
All VCSs can handle text & binary files but cannot merge binary ones.[6]
Git has a fairly steep learning curve, other version control systems might be more intuitive but are not as widely used. Only a few commands are needed, e.g. status, add, remove, commit, push, etc. and then usage is simple. Git works locally, a remote server is optional. When using a remote server, it can be located anywhere accessible via HTTP or SSH.[3][3][7]
A repository is a nest of folders for e.g. projects and libraries. Then git is used to commit or push changes. This way git takes care of all the tracking, removing the need for keeping multiple versions of a project and any point in the development can be returned to.[8][9]
GitHub, GitLab and other sites are git repository hosting service, they offer the functionality of git as well as adding their own features. Having a centralized repository allows people to collaborate on projects.[3][10]
Setting up a repository
To create a repo within an existing project folder, first cd to the root project folder and then execute the git init command.[11]
cd /path/to/your/existing/code
git init
...
Github
GitHub lets you complete many Git-related actions without using the command line.[12] Images in a GitHub repository can be viewed in the browser and visually compared in different modes.[13] To make use of this feature export schematic and PCB layouts as images.
References
- ^ Git homepage
- ^ Version Control Software in 2014: What are Your Options?, Shaumik Daityari, 22 April 2014
- ^ a b c d PCB version control and notes, EEVblog forum, May 2015
- ^ Git for ages 4 and up
- ^ Git documentation.
- ^ Version control systems for hardware projects?
- ^ How to use Git?, Stack Overflow
- ^ Industry Practices for Schematic Design?
- ^ Version-Controlled Hardware Design with EAGLE by Jordan Schaenzle, 19 Jan 2015.
- ^ GitHub, Wikipedia
- ^ Setting up a repository, Atlassian.com
- ^ GitHub Help
- ^ Rendering and diffing images, GitHub help
External links
- Git downloads for Mac OS X, Windows, Linux and Solaris
- Pro Git Book – An open source book on Git by Scott Chacon and Ben Straub, Apress, 2014, ISBN 1-4842-0077-2
- Git documentation
- Git, Wikipedia
Cheat sheets
Beginners guides
- git – the simple guide – no deep shit!
- Git Beginner's Guide for Dummies
- Think Like (a) Git
- A Visual Git Reference
- Git for beginners: The definitive practical guide
Github
This article is a stub. You can help Synth DIY Wiki by expanding it.