Getting started with Git development#
This section and the next describe in detail how to set up git for working with the SciPy source code. If you have git already set up, skip to Development workflow.
Basic Git setup#
Developing with git can be done entirely without GitHub. Git is a distributed version control system. In order to use git on your machine you must first install git.
Introduce yourself to Git:
git config --global user.email firstname.lastname@example.org git config --global user.name "Your Name Comes Here"
Making your own copy (fork) of SciPy#
You need to do this only once.
Set up and configure a github account
You then need to configure your account to allow write access - see the
Generating SSH keyshelp on github help.
Next, create your own forked copy of SciPy.
git clone https://github.com/your-user-name/scipy.git cd scipy git remote add upstream https://github.com/scipy/scipy.git git submodule update --init
Clone your fork#
Clone your fork to the local computer with
git clone https://github.com/your-user-name/scipy.git
Investigate. Change directory to your new repo:
cd scipy. Then
git branch -ato show you all branches. You’ll get something like:
* main remotes/origin/main
This tells you that you are currently on the
mainbranch, and that you also have a
origin/main. What remote repository is
git remote -vto see the URLs for the remote. They will point to your github fork.
Now you want to connect to the upstream SciPy github repository, so you can merge in changes from trunk.
Initialize git submodules:
git submodule update --init
This fetches and updates any submodules that SciPy needs (such as Boost).
You are now ready to start developing with SciPy. Check the SciPy contributor guide for more details.