share your projects with the universe" • Github is a hosted source control solution, based on git. • Used by open source projects, personal projects • Paid-for offerings for non-public code There are other ways to do git, open source, and probably everything mentioned here ...
like less commit ae04d50d592aeb8605d28f352cee104b167c998f Merge: 670e31d 93a0f5a Author: Mark Story <[email protected]> Date: Sun Aug 12 20:37:27 2012 -0700 Merge pull request #332 from okonomi/ja-translation-welcome commit 93a0f5a685f919deaf12571aaf1169db76ae8ce7 Author: okonomi <[email protected]> Date: Sun Aug 12 18:27:28 2012 +0900 PDF link change to en. commit 670e31d1d8de5c58c23b57fb4e7a1dc02b698b6e Author: Jose Lorenzo Rodriguez <[email protected]> Date: Sun Aug 12 00:05:12 2012 +0200 Fixing almost all errors in fr translation files
Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working dir # # modified: en/getting-started/cakephp-conventions.rst # no changes added to commit (use "git add" and/or "git commit -a") To include changes in a commit, we need to stage them first using git add
status # On branch style-table-name # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: en/getting-started/cakephp-conventions.rst #
the -m, git will open your default text editor to add a message • You can also supply a list of files to include in the commit • Use git add -interactive to stage sections of files
git checkout -- path/to/file If you have staged the changes, you can still undo them: git reset git reset --hard Reset will unstage the changes; the hard reset puts everything back to the most recent commit
(and merging!) are fast and painless • Branches are private by default • Branches are in the repo, they are not copies • no updating vhosts • only one directory with code in
new-branch-name Switch to an existing branch git checkout branchname List branches in this repo git branch Branches are local by default, they don’t synchronise to other repositories unless asked
usually each project does. Common features: • Branch for features • Branch for fixes • Branch for experiments • Basically: branch! By keeping changes in branches, they are very easy to merge to another repo or branch
on the project’s list • https://github.com/cakephp/docs/pulls • Hopefully it gets merged • You get bragging rights :) • https://github.com/cakephp/docs/contributors
• Check for introductory docs • http://book.cakephp.org/2.0/en/contributing.html • Get code and set up the project • usually, fork the repo and read the README
• Check for introductory docs • http://book.cakephp.org/2.0/en/contributing.html • Get code and set up the project • usually, fork the repo and read the README • Find the bug tracker, and pick something • http://cakephp.lighthouseapp.com
• Check for introductory docs • http://book.cakephp.org/2.0/en/contributing.html • Get code and set up the project • usually, fork the repo and read the README • Find the bug tracker, and pick something • http://cakephp.lighthouseapp.com • Talk to the other people in the project • #cakephp on freenode
• Check for introductory docs • http://book.cakephp.org/2.0/en/contributing.html • Get code and set up the project • usually, fork the repo and read the README • Find the bug tracker, and pick something • http://cakephp.lighthouseapp.com • Talk to the other people in the project • #cakephp on freenode • Share and enjoy