You are previewing Foundation Version Control for Web Developers.
O'Reilly logo
Foundation Version Control for Web Developers

Book Description

Foundation Version Control for Web Developers explains how version control works, what you can do with it and how. Using a friendly and accessible tone, you will learn how to use the three leading version control systems—Subversion, Git and Mercurial—on multiple operating systems. The history and integral concepts of version control are covered so that you will gain a thorough understanding of the subject, and why it should be used to manage all changes in web development projects.

This book covers the valuable knowledge and transferable skills that will enable you use one of the three leading systems as well as easily switch to new systems that will arise in the workplace. Topics covered include:

  • How to choose the correct software for your needs.

  • Creating and working with repositories.

  • Understanding trunks, branches, hooks, conflicts and merging.

  • Setting up respository servers and integrating with Apache.

  • Using Terminal, and understanding alternatives.

Foundation Version Control for Web Developers is a concise beginner's course for designer and developer alike. Even if you have no prior knowledge of version control, this book will provide you with the knowledge to fully manage projects from start to finish, ensuring your projects are as seamless and successful as you need them to be.

What you'll learn

  • The benefits of having more version control in your life

  • The basics of managing your work with version control

  • How to choose the correct software for your needs

  • Creating and working with repositories

  • Understanding trunks, branches, hooks, conflicts and merging

  • Setting up servers such as Apache

  • Using Terminal, and understanding alternatives

  • Advanced techniques for those who want to create and manage their own repositories

Who this book is for

Foundation Version Control for Web Developers is aimed at developers and designers who have little or no experience with version control—those who have experience coding and those who are just getting started. The reader may be also a junior developer, just starting out, who hasn't looked into any kind of versioning system before. Although the book is primarily aimed at those with little knowledge of managing files using this method, it will still be beneficial to any developer.

Table of Contents

  1. Title
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Authors
  6. About the Technical Reviewer
  7. About the Cover Image Artist
  8. Acknowledgments
  9. Introduction
    1. Who this book is for
    2. How this book is structured
    3. What will I need?
    4. Contacting Chris Kemper
  10. Chapter 1: Are You Set Up? Creating a Basic Development Environment
    1. Microsoft Windows
    2. Mac
    3. Ubuntu
    4. Summary
  11. Chapter 2: In the Beginning There Were Just Files
    1. What is version control?
    2. The earlier version control solutions
    3. Summary
  12. Chapter 3: Meet the Current Players in the Game: SVN, Git, and Mercurial
    1. The differences between then and now
    2. An introduction to the lead players: SVN, Git, and Mercurial
    3. Where to install and usr/local
    4. Compiling software
    5. The process of SVN and setting it up
    6. How Mercurial does the job and getting it set up
    7. How Git is a little bit different
    8. Summary
  13. Chapter 4: The Benefits of Version Control
    1. Having a backup of your files
    2. Collaborative projects
    3. The ability to work on different machines
    4. A full history of changes
    6. Giving clients confidence in you
    7. Working on projects and files
    8. Bridging
    9. Summary
  14. Chapter 5: I Don't Like Terminal; Which Programs Can I Use?
    1. SVN
    2. Mercurial
    3. Git
    4. Summary
  15. Chapter 6: You Mean I Can Version Control Everything?!
    1. Why version control isn't the solution for some files
    2. Visual versioning
    3. Document management
    4. Summary
  16. Chapter 7: What Can Make My Life Easier?
    1. Windows editors
    2. Mac editors
    3. Cross platform
    4. NetBeans
    5. Sublime Text 2
    6. Summary
  17. Chapter 8: I Have a Conflict: What Can I Do?
    1. Manual conflict management
    2. GUIs
    3. Summary
  18. Chapter 9: I'm Feeling Brave; Can I Do This With Terminal?
    1. SVN
    2. Mercurial
    3. Git
  19. Chapter 10: How to Create a Server
    1. Setting up the server
    2. Domain names and DNS records
    3. A few good hosting providers
    4. SVN
    5. Mercurial
    6. Git
    7. Summary
  20. Chapter 11: I Don't Have a Server, What Other Options Do I Have?
    1. Beanstalk
    2. Springloops
    3. Unfuddle
    4. Google Project Hosting
    5. Assembla
    6. XP-Dev
    7. Codesion
    8. BitBucket
    9. CodebaseHQ
    10. GitHub
    11. I'm still not feeling these services, what else is available?
    12. Summary
  21. Chapter 12: Why Branching Is Great
    1. What is a branch?
    2. When can I use branches?
    3. How do I create a branch?
    4. A worked example
    5. Summary
  22. Chapter 13: Hooks, and Why They Can Be Useful
    1. SVN Hooks
    2. Git Hooks
    3. Mercurial Hooks
    4. Enabling Hooks
    5. Hooks in action
    6. Summary
  23. Chapter 14: Upgrading from CVS and Converting Repositories
    1. CVS
    2. SVN
    3. Summary
  24. Appendix: Terminal Commands
    1. SVN
    2. Mercurial
    3. Git
  25. Index