Difference between revisions of "Yade on github"

From Yade

Line 1: Line 1:
 
== Using yade on GitHub ==
 
== Using yade on GitHub ==
  +
  +
Most usefull commands are below. For more details, see for instance http://gitref.org/index.html
  +
   
 
=== Setup ===
 
=== Setup ===
Line 17: Line 20:
 
5. Set Up Your Local Repo:
 
5. Set Up Your Local Repo:
 
git clone git@github.com:username/trunk.git
 
git clone git@github.com:username/trunk.git
  +
go to newly created folder
 
 
 
6. Configure remotes:
 
6. Configure remotes:
 
cd to/newly/created/folder
 
git remote add upstream git@github.com:yade/trunk.git
 
git remote add upstream git@github.com:yade/trunk.git
 
git fetch upstream
 
git fetch upstream
Line 25: Line 28:
 
=== Committing changes ===
 
=== Committing changes ===
   
  +
''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.
git add . #Adds newly created files, if they persist
 
  +
''
git commit -am'Commit message' #It can be done several times after every sufficient change
 
  +
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 push origin master #Push you changes into a server
 
  +
git status
git fetch upstream #Pull new updates from the upstream
 
  +
git diff path/to/modified/file.cpp
git merge upstream/master #Merge upstream changes into your master-branch
 
   
  +
Then you proceed to commit:
Changes will be pushed to your personal "fork", If you have tested your changes and ready
 
  +
  +
git add path/to/modified/file.cpp #Adds all newly created files, if any (equivalent of "bzr add")
 
git commit -am'Commit message' #It can be done several times after every sufficient change (no equivalent in bzr, it's like commiting to your own local repository)
 
git push origin master #Push you changes into a server (equivalent of "bzr commit", except that your are commiting to your own remote branch)
  +
  +
You may want to get changes done by others:
  +
 
git fetch upstream #Pull new updates from the upstream (eq. of "bzr update")
 
git merge upstream/master #Merge upstream changes into your master-branch (eq. of "bzr update", but it actually updates your remote branch instead of your local repository)
  +
 
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" [http://help.github.com/send-pull-requests/]. After reviewing your changes they will be added to the main trunk.
 
to push them into the main trunk, just do a "pull request" [http://help.github.com/send-pull-requests/]. 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" or "git merge".

Revision as of 14:35, 30 March 2012

Using yade 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 changes

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. 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

Then you proceed to commit:

git add path/to/modified/file.cpp   #Adds all newly created files, if any (equivalent of "bzr add")
git commit -am'Commit message'      #It can be done several times after every sufficient change (no equivalent in bzr, it's like commiting to your own local repository)
git push origin master              #Push you changes into a server (equivalent of "bzr commit", except that your are commiting to your own remote branch)

You may want to get changes done by others:

git fetch upstream                  #Pull new updates from the upstream (eq. of "bzr update") 
git merge upstream/master           #Merge upstream changes into your master-branch (eq. of "bzr update", but it actually updates your remote branch instead of your local repository)

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" or "git merge".