Difference between revisions of "Git"

(Adding "Why do we use Git?" section - a broader-context description right at the top...)
 
Line 7: Line 7:
 
* [http://think-like-a-git.net/ Think Like (a) Git - A Guide for the Perplexed]
 
* [http://think-like-a-git.net/ Think Like (a) Git - A Guide for the Perplexed]
 
}}
 
}}
{{DevelopMenu | tools}}Development of ImageJ and related software relies heavily on [http://git-scm.com/ Git], a first-class [[wikipedia:Distributed version control|distributed]] [[wikipedia:Version control|version control]] system. Git saves "snapshots" of the source code, keeping a history of changes.
+
{{DevelopMenu | tools}}Development of ImageJ and related software relies heavily on [http://git-scm.com/ Git]. See the [[source code]] page for information on where the Git repositories reside.
  
See the [[source code]] page for information on where the Git repositories reside.
+
== Why do we use Git? ==
 +
* Git is a first-class [[wikipedia:Distributed version control|distributed]] [[wikipedia:Version control|version control]] system, so we use it to keep a record of changes to avoid loss-of-work and to appropriately explain/document changes as projects develop.
 +
* Git history, which is composed of "snapshots" of the source code, can be used to go back at any point in time, which leads to reproducible science.
  
 
== Git tutorials ==
 
== Git tutorials ==

Latest revision as of 10:46, 13 April 2018



Development
Topics
Overview
Philosophy
Architecture
Source code
Project management
Coding style
Debugging
Tools
GitHub
Git
Maven
IDEs
Travis
AppVeyor
Dotfiles
Guides
Writing plugins
ImageJ Ops
Contributing to a plugin
Distributing your plugins
Development lifecycle
Building a POM
Developing with Eclipse
Hands-on debugging
Adding new ops
Adding new formats
Using native libraries
Tips for developers
Tips for C++ developers
ImageJ 1.x plugins
Versioning
Logging
Uber-JARs

Development of ImageJ and related software relies heavily on Git. See the source code page for information on where the Git repositories reside.

Why do we use Git?

  • Git is a first-class distributed version control system, so we use it to keep a record of changes to avoid loss-of-work and to appropriately explain/document changes as projects develop.
  • Git history, which is composed of "snapshots" of the source code, can be used to go back at any point in time, which leads to reproducible science.

Git tutorials

Git Tutorials
Git for dummies
Git in Eclipse (EGit)
Git mini howto
Git workshop
Git Conflicts
Git topic branches
Git Notes
Git reflogs
Git submodule tutorial
Pinpoint regressions with Git
How to publish a Git repository
How to extract a subproject

This web site has lots of tutorials on Git; see the left sidebar.

Rewriting history

One of the most powerful things Git can do is rewrite a series of patches after the fact. This is a powerful technique worth learning. There are many guides available here and elsewhere: