-
Notifications
You must be signed in to change notification settings - Fork 239
GitHowTo
Install git, if necessary, by getting it here:
The follow the instructions in one of the following two sections.
To get the source code of Macaulay2 if you are not a package developer, one "clones" our git repository with the following shell command:
git clone https://github.com/Macaulay2/M2
The source code will appear in a directory called M2
, which you may rename if you wish. In that directory you can find the following items of interest:
- The source code for the package Foo: the file
M2/Macaulay2/packages/Foo.m2
and possibly the directoryM2/Macaulay2/packages/Foo/
and its contents. - The instructions for building Macaulay2:
M2/INSTALL
Start by "forking" the Macaulay2 repository, by following the following steps in a browser.
- Create a github account at https://github.com/
- We'll assume below that your user name is
JohnDoe
.
- We'll assume below that your user name is
- Add your ssh key at https://github.com/settings/ssh
- Fork M2 at https://github.com/Macaulay2/M2/fork
Tell git what your name and email address are, for correct labelling of your updates, with commands like:
git config --global user.name "John Doe"
git config --global user.email [email protected]
Then use the following shell command to get a copy of your copy of the source code of Macaulay2:
git clone [email protected]:JohnDoe/M2
Edit and test your code. Whenever you want to send your changes to your local copy of M2, proceed as follows:
- Review the status of your files with
git status
- Review your changes, if necessary, with
git diff
- Add the files whose changes are to be committed with
git add FILENAME ...
- Commit the files to your local copy of the repository:
- Issue the command
git commit
- An editor window will pop up in which you should type a message describing the changes, with this format:
- First line is 50 characters or less
- Then a blank line
- Remaining text should be wrapped at 72 characters
- Issue the command
- An alternative to the two steps above, if you are ready to commit all the files that you have changed, is
git commit -a
- Push the commited changes to your fork of M2 at github:
git push
Repeat at will. Whenever you want to send your changes to the central Macaulay2 repository, do this in a browser:
- Issue a pull request at https://github.com/JohnDoe/M2/pull/new/master, or find the pull request button on the page of your fork at https://github.com/JohnDoe/M2.
To import the latest changes from the Macaulay2 repository into your repository and try to merge your code with them, use:
git pull https://github.com/Macaulay2/M2 master
To import the latest changes from the Macaulay2 repository into your repository without trying to merge your code with them, use:
git fetch https://github.com/Macaulay2/M2
To display the history of your changes graphically, use this command:
gitk
To show the history of all of your branches and any branches imported from the Macaulay2 repository, use:
gitk --all
Homepage | Projects | Packages | Documentation | Events | Google Group