This section explains how you get the JabRef code onto your machine in a form allowing you to make contributions.
- Log into your GitHub account
- Go to https://github.com/JabRef/jabref
- Create a fork by clicking at fork button on the right top corner
- A fork repository will be created under your account
In a command line, navigate to the folder where you want to place the source code (parent folder of
jabref). To prevent issues along the way, it is strongly recommend choosing a path that does not contain any special (non-ASCII or whitespace) characters. In the following, we will use
c:\git-repositories as base folder:
cd \ mkdir git-repositories cd git-repositories git clone --depth=10 https://github.com/JabRef/jabref.git JabRef cd jabref git remote rename origin upstream git remote add origin https://github.com/YOUR_USERNAME/jabref.git git branch --set-upstream-to=origin/main main
Note that putting the repo JabRef directly on
C:\or any other drive letter on Windows causes compile errors (negative example:
Further, if you are building on Windows, make sure that the absolute path to the location of the clone does not contain folders starting with ‘
u’ (negative example:
C:\university\jabref) as this may currently also cause compile errors.
Please really ensure that you pass
JabRefas parameter. Otherwise, you will get
java.lang.IllegalStateException: Module entity with name: jabref should be available. See IDEA-317606 for details.
Initial cloning might be very slow (
To prevent this, first the
upstreamrepository is cloned. This repository seems to live in the caches of GitHub.
--depth--10is used to limit the download to ~20 MB instead of downloading the complete history (~800 MB). If you want to dig in our commit history, feel free to download everything.
Now, you have two remote repositories, where
originis yours and
upstreamis the one of the JabRef organization.
You can see it with
git remote -v:
c:\git-repositories\jabref> git remote -v origin https://github.com/YOURUSERNAME/jabref.git (fetch) origin https://github.com/YOURUSERNAME/jabref.git (push) upstream https://github.com/jabref/jabref.git (fetch) upstream https://github.com/jabref/jabref.git (push)