Slides from the 2011 Reno-Tahoe WordCamp covering why developers should be using some kind of Version Control System and what models are currently being used in the industry.
14. "Enterprise-class centralized version control for the masses" Apache Centralized version control systems are designed with the intent that there is One True Source that is Blessed , and therefore Good. All developers work (checkout) from that source, and then add (commit) their changes, which then become similarly Blessed . The only real difference between the tools current available is in the workflow, performance, and integration that each tool offers. Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
15. Distributed version control systems are designed with the intent that one repository is as good as any other, and that merges from one repository to another are just another form of communication. Any semantic value as to which repository should be trusted is imposed from the outside by process, not by the tool itself. Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
16. We don't need to use that! Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
17. Wait...WordPress uses Subversion...why are we talking about GIT? Each solve their own problem! Subversion is fine for developing with WordPress! Using GIT is also a great idea! They each offer their own solutions to problems! Depending on your project, one might work for you better! Git is not better than Subversion. It is not worse. It's different. Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
18. Using Subversion with WordPress Get the code! > svn co http://core.svn.wordpress.org/trunk/ Make changes! Then when you're done you can see what you changed: > svn diff Turn your changes into a patch! > svn diff > my-patch.txt Always check to see if changes have been made with: > svn status Add your changes to the repository: > svn commit Get the latest changes from the repository : > svn update Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
19. Awesome! I can fix bugs! Add features! Solve world hunger! You bet you can! But...there's some things you should know. Most of you will not have authorization to make changes to the WordPress core. It's a CVS and only certain people can "bless" code. You have to create a patch , then send it to a developer capable of blessing the code, then they have to apply it. The same procedure has to be followed if you're going to share your code with someone else. Inherited Workflow Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
21. But wait! With GIT you can get all of the WordPress code! Make changes to it with equality. You can then make changes...commit them...deploy them to your own repository as well as sending them to OTHER developers! Then ... when you're ready - you can open a ticket for WordPress Developers - and attach a patch for them to review. Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo
22. Using GIT with WordPress Get the code! People have mirrored the Subversion code onto GitHub! > git clone git://github.com/dxw/wordpress.git Make changes! Then when you're done you can see what you changed: > git diff Turn your changes into a patch! > git diff > my-patch.txt Always check to see if changes have been made with: > git status Get the latest changes from the repository : > git pull Add your changes to the repository: > git add . > git commit Send your changes to another repository: > git push another-repository master Reno-Tahoe WordCamp 2011 Sterling Hamilton | http://sterlinghamilton.com | @sterlo