The Knop Project relies upon git and GitHub for version control of source files and collaboration amongst its contributors. Although one could merely download the files as a zip archive, one would lose any advantages of version control, specifically to be able to roll back or forward to any point in their repository. This is especially useful when, for example, a new version of Knop is released and the developer wants to test it out, only to find that there is a bug in Knop or it breaks other components of their system.
The Knop Project uses the "fork and pull" model for collaboration. Developers should fork the Knop Project into their own repository under their GitHub account, then clone their GitHub repository to their local development machine. From there, the developer can make changes to the files, test, and, when satisfactory, push the changes to their GitHub repository. At this point, the developer can submit a pull request to the Knop Project to review.
This section provides guidance for installing and configuring git, GitHub, and desktop git clients to work with your repository on GitHub.
If you already have installed and configured these items, then read the instructions on how to use git and GitHub with the Knop Project repository.
- GitHub account
- git
- git clients
For information of how to install and set up git to work with GitHub, please visit the following link.
After you have created a GitHub account, installed git, and optionally installed a git GUI client, you are ready to work with the Knop Project.
GitHub provides some nifty tutorials to become familiar with their system and git.
Git Immersion is an excellent tutorial with more detail.
###How to install and set up git in general
For extremely detailed information of installing git for various environments, the book Pro Git is an excellent resource and contains the following chapter.
Pro Git: Getting Started Installing Git
This book also covers usage via the command line.
###git clients
There are dozens of git clients available to manage your git repositories, both commercial and open source. When you install git, you have a command line client available.
Alternatively you may prefer a desktop GUI client. Be advised that GUI clients may not have all the features provided by the command line git client.
For purely commercial licenses of desktop GUI clients for git, try searching the Internet and trying them out. The Knop Project does not endorse or evaluate purely commercial products.
The following desktop clients have been used by Knop Project contributors.
####SourceTree
Atlassian provides SourceTree, a free Mac client for Git, Mercurial and SVN version control systems. Requires Mac OS X 10.6+.
####SmartGit
Syntevo provides SmartGit with either a commercial or an open source license depending on your usage. Since Knop is an open source project, you may use SmartGit to contribute to the project at no cost.
####EGit
EGit is a plugin for Eclipse and Eclipse-based products, including LassoLab from LassoSoft. Eclipse, LassoLab, and EGit are all available at no cost. Eclipse and LassoLab are both integrated development environments (IDE) for writing, testing, and debugging code. In addition plugins can be installed to add features and improve your project workflow.
Please see the Knop Project documentation How to install and configure the EGit plugin for Eclipse (and LassoLab) to work with the Knop Project on GitHub.
####Other desktop clients
Now that you have a GitHub account, installed git, and optionally installed a git GUI client, you are ready to work with the Knop Project, either by using git or EGit in Eclipse/LassoLab.