Using Git and Gitea
More details are going to be added in the future...
Why Git?
Originally created by Linus Torvalds for the development of the Linux kernel, Git has become one of the most widespread revision control systems in the world. While it may seem more complex than older systems (like SVN), the workflow is actually very convenient and every Git command gives users hints what should be done next in the usual workflow. Moreover, users may get help for any command by typing 'git help command', and a detailed manual exists.
Another advantage is the availability of a large number of graphical user interfaces that can be accessed using standard web browsers which simplify certain tasks a lot and even add some functionality (like pull requests, see below). For program MNDO, Gitea is offered. The interface can be accessed using the following address:
If you have an account, you may log in (at the top right of the browser window), view all recent activities, look at the MNDO repository, create your own repositories to store information privately or to share them with others, and many more things.
Some concepts in Git
While an SVN repository is very much like a file system with versions for which the revision history is an integral part of the database, a Git repository is little more than a collection of snapshots (commits) in loose order. Thus with Git it is possible (at least in principle) to delete or reorder commits which is completely out of the question with SVN. Consequently, Git cannot use revision numbers as SVN does. Instead, it uses SHA-1 hashes in hexadecimal notation to uniquely identify a specific commit.
With SVN, you check out a specific revision of the data set from the remote repository, and SVN creates a directory with a working copy on the local hard drive. After you've made your changes, a commit will directly affect the remote repository. With Git, on the other hand, you download a copy of the entire repository to your local hard drive, and the working copy that is generated is more like a byproduct. This local copy of the repository resides in the directory named .git inside the working directory, and the download process is referred to as cloning in Git terms. Committing changes affects only the local repository, and copying the commit to the remote repository is a separate step called pushing.
Often after cloning a remote repository to the local hard drive, the user clones it again into another remote repository that only the user can modify and the maintainer of the original repository can read. After the user has made his changes and after incorporating all changes that have been made in the original repository in the meantime (called merging), the user asks the maintainer of the original repository to pull the changes over (as an alternative to the user pushing them). This is called making a pull request, and this gives the maintainer a chance to review the changes before he or she accepts them into the original repository.
Downloading (cloning) the repository of program MNDO
Before you can use git on the command line, you have to log in to the Gitea web interface at least once and change your preliminary password.
To download (clone) the repository of program MNDO and to create a working directory with the most recent revision afterwards, issue the following command:
git clone https://mndo.kofo.mpg.de:3000/MNDO/mndo.git
If your Git user name differs from your account name on your local machine, the following variant may be more convenient:
git clone https://gitusername@mndo.kofo.mpg.de:3000/MNDO/mndo.git
You will be prompted for your Git user name (if applicable) and password and a directory named 'mndo' will be created which will contain the working copy and the repository in 'mndo/.git'.
♦ Imprint ♦ Privacy policy ♦