Difference between revisions of "Git"

Jump to navigation Jump to search
(Created page with "'''Git''' is an open source popular distributed [https://en.wikipedia.org/wiki/Version_control version control system] (VCS) and is available for Mac OS X, Windows, Linux...")
 
Line 1: Line 1:
'''Git''' is an [[open source]] popular distributed [https://en.wikipedia.org/wiki/Version_control version control system] (VCS) and is available for Mac OS X, Windows, Linux and Solaris. It is free and [[open source]].<ref name="git">[https://git-scm.com Git] homepage</ref><ref>[http://www.sitepoint.com/version-control-software-2014-what-options/ Version Control Software in 2014: What are Your Options?], Shaumik Daityari, 22 April 2014</ref><ref name="eevb">[http://www.eevblog.com/forum/eagle/pcb-version-control-and-notes/ PCB version control and notes], EEVblog forum, May 2015</ref> Forget what you know about any other VCS.<ref name="ages">[https://www.youtube.com/watch?v=1ffBJ4sVUb4 Git for ages 4 and up]</ref>
+
'''Git''' is an [[open source]] popular distributed [https://en.wikipedia.org/wiki/Version_control version control system] (VCS) and is available for Mac OS X, Windows, Linux and Solaris. It is free and [[open source]].<ref name="git">[https://git-scm.com Git] homepage</ref><ref>[http://www.sitepoint.com/version-control-software-2014-what-options/ Version Control Software in 2014: What are Your Options?], Shaumik Daityari, 22 April 2014</ref><ref name="eevb">[http://www.eevblog.com/forum/eagle/pcb-version-control-and-notes/ PCB version control and notes], EEVblog forum, May 2015</ref>  
 +
 
 +
== Basics ==
 +
Forget what you know about any other VCS.<ref name="ages">[https://www.youtube.com/watch?v=1ffBJ4sVUb4 Git for ages 4 and up]</ref>
 +
 
 +
Git is fully featured when used as a command line tool.<ref name="gdoc">[https://git-scm.com/book/en/v2/Getting-Started-The-Command-Line Git documentation.]</ref>
  
 
== Usage for hardware projects ==
 
== Usage for hardware projects ==
Line 6: Line 11:
 
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.<ref name="eevb"/><ref name="eevb"/><ref>[http://stackoverflow.com/questions/1004936/how-to-use-git How to use Git?], Stack Overflow</ref>
 
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.<ref name="eevb"/><ref name="eevb"/><ref>[http://stackoverflow.com/questions/1004936/how-to-use-git How to use Git?], Stack Overflow</ref>
  
Have one repository per project. A repository is simply a folder with sub-folders for e.g. Hardware, Firmware, Documentation, etc. 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. <ref name="iprac">[http://electronics.stackexchange.com/questions/26308/industry-practices-for-schematic-design Industry Practices for Schematic Design?]</ref>
+
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. <ref name="iprac">[http://electronics.stackexchange.com/questions/26308/industry-practices-for-schematic-design Industry Practices for Schematic Design?]</ref><ref>[https://spin.atomicobject.com/2015/01/19/hardware-version-control/ Version-Controlled Hardware Design with EAGLE] by Jordan Schaenzle, 19 Jan 2015.</ref>
  
 
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.<ref name="eevb"/><ref>[https://en.wikipedia.org/wiki/GitHub GitHub], Wikipedia</ref>
 
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.<ref name="eevb"/><ref>[https://en.wikipedia.org/wiki/GitHub GitHub], Wikipedia</ref>
 +
 +
=== Github ===
 +
GitHub lets you complete many Git-related actions without using the command line.<ref name="ghelp">[https://help.github.com/ GitHub Help]</ref> Images in a GitHub repository can be viewed in the browser and visually compared in different modes.<ref>[https://help.github.com/articles/rendering-and-diffing-images/ Rendering and diffing images], GitHub help</ref> To make use of this feature export schematic and PCB layouts as images.
  
 
{{stub}}
 
{{stub}}
Line 18: Line 26:
 
* [http://git-scm.com/book/en/v2 Pro Git Book - An open source book on Git] by Scott Chacon and Ben Straub, Apress, 2014, ISBN 1484200772
 
* [http://git-scm.com/book/en/v2 Pro Git Book - An open source book on Git] by Scott Chacon and Ben Straub, Apress, 2014, ISBN 1484200772
 
* [https://git-scm.com/doc Git documentation]
 
* [https://git-scm.com/doc Git documentation]
 +
=== Cheat sheets ===
 +
* [https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf GitHub Cheat Sheet]
 +
* [http://ndpsoftware.com/git-cheatsheet.html Visual Git Cheat Sheet]
 +
=== Beginners guides ===
 +
* [http://rogerdudler.github.io/git-guide/ git - the simple guide - no deep shit!]
 
* [https://backlogtool.com/git-guide/en/intro/intro1_1.html  Git Beginner's Guide for Dummies]
 
* [https://backlogtool.com/git-guide/en/intro/intro1_1.html  Git Beginner's Guide for Dummies]
 
* [http://think-like-a-git.net/epic.html Think Like (a) Git]
 
* [http://think-like-a-git.net/epic.html Think Like (a) Git]
 
* [http://marklodato.github.io/visual-git-guide/index-en.html A Visual Git Reference]
 
* [http://marklodato.github.io/visual-git-guide/index-en.html A Visual Git Reference]
=== Cheat sheets ===
+
* [http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide Git for beginners: The definitive practical guide]
* [https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf GitHub Cheat Sheet]
 
* [http://ndpsoftware.com/git-cheatsheet.html Visual Git Cheat Sheet]
 
 
=== Github ===
 
=== Github ===
 
* [https://github.com/ GitHub] and [https://guides.github.com/activities/hello-world/ GitHub tutorial]
 
* [https://github.com/ GitHub] and [https://guides.github.com/activities/hello-world/ GitHub tutorial]
 +
* [https://help.github.com/ GitHub Help]
  
 
{{iwWikipedia|Git (software)}}
 
{{iwWikipedia|Git (software)}}
 
[[Category:Version control systems]]
 
[[Category:Version control systems]]

Revision as of 22:49, 4 May 2016

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]

Github

GitHub lets you complete many Git-related actions without using the command line.[11] Images in a GitHub repository can be viewed in the browser and visually compared in different modes.[12] To make use of this feature export schematic and PCB layouts as images.

References

External links

Cheat sheets

Beginners guides

Github

Template:IwWikipedia