Difference between revisions of "Yade on github"
From Yade
Line 54: | Line 54: | ||
You may want to get changes done by others: |
You may want to get changes done by others: |
||
− | git fetch |
+ | git fetch #Pull new updates from the upstream to your branch (eq. of "bzr update", updating the remote branch from the upstream yade/trunk) |
− | git merge |
+ | git merge #Merge upstream changes into your master-branch (eq. of "bzr update", updating your local repository from the remote branch) |
+ | |||
+ | Alternatively, this will do fetch+merge all at once (discouraged if you have uncommited changes): |
||
+ | |||
+ | git pull |
Revision as of 15:25, 11 April 2012
Using branches on GitHub
Most usefull commands are below. For more details, see for instance http://gitref.org/index.html
Setup
1. Register on github.com
2. Add your SSH key to GitHub[1]:
On the GitHub site Click “Account Settings” > Click “SSH Public Keys” > Click “Add another public key”
3. Set your username and email:
git config --global user.name "Firstname Lastname" git config --global user.email "your_email@youremail.com"
4. Fork A Repo[2]:
click the “Fork” button on the https://github.com/yade/trunk
5. Set Up Your Local Repo:
git clone git@github.com:username/trunk.git
6. Configure remotes:
cd to/newly/created/folder git remote add upstream git@github.com:yade/trunk.git git fetch upstream
Committing and updating
Note for bazaar users: the commit mechanisms in Git significantly differs from that of Bazaar or SVN. Therefore, don't expect to find a one-to-one command replacement. In some cases, however, the equivalent bazaar command is indicated below to ease the transition.
Inspecting changes
You may start by inspecting your changes with a few commands. For the "diff" command, it is convenient to copy from the output of "status" instead of typing the path to modified files.
git status git diff path/to/modified/file.cpp
Committing changes
Then you proceed to commit:
git add path/to/new/file.cpp #Version a newly created file (equivalent of "bzr add"), or git commit path/to/new_or_modified/file.cpp -am'Commit message' #Validate a change. It can be done several times after every sufficient change (no equivalent in bzr, it's like commiting to your own local repository), or git commit -am'Commit message' #Same as above but select all changes at once git push #Push your changes into gitHub (equivalent of "bzr commit", except that your are commiting to your own remote branch)
Changes will be pushed to your personal "fork", If you have tested your changes and you are ready to push them into the main trunk, just do a "pull request" [3]. After reviewing your changes they will be added to the main trunk.
When the pull request has been reviewed and accepted, your changes are integrated in the main trunk. Everyone will get them via "git fetch".
Updating
You may want to get changes done by others:
git fetch #Pull new updates from the upstream to your branch (eq. of "bzr update", updating the remote branch from the upstream yade/trunk) git merge #Merge upstream changes into your master-branch (eq. of "bzr update", updating your local repository from the remote branch)
Alternatively, this will do fetch+merge all at once (discouraged if you have uncommited changes):
git pull