Git: Version Control for Everyone

More Information
Learn
  • Installing and configuring Git on your machine
  • Basic concepts of Git to get started with versioning
  • Sharing and collaboration of files with Git
  • Additional tools which can come in handy
  • Extended operations with Git on text based files
About
Git – is free software which enables you to maintain different versions of single or multiple files present inside a directory(folder), and allows you to switch back and forth between them at any given point of time. It also allows multiple people to work on the same file collaboratively or in parallel, without being connected to a server or any other centralized system continuously.

This book is a step by step, practical guide, helping you learn the routine of version controlling all your content, every day.

If you are an average computer user who wants to be able to maintain multiple versions of files and folders, or to go back and forth in time with respect to the files content – look no further. The workflow explained in this book will benefit anyone, no matter what kind of text or documentation they work on.

This book will also benefit developers, administrators, analysts, architects and anyone else who wishes to perform simultaneous, collaborative work, or work in parallel on the same set of files. Git's advanced features are there to make your life easier.





Features
  • A complete beginner's workflow for version control of common documents and content
  • Examples used are from non-techie, day to day computing activities we all engage in
  • Learn through multiple modes – readers learn theory to understand the concept and reinforce it by practical tutorials.
  • Ideal for users on Windows, Linux, and Mac OS X
Page Count 180
Course Length 5 hours 24 minutes
ISBN 9781849517522
Date Of Publication 24 Jan 2013
Choosing your type – download your OS specific package
Time for action – installing Git on Windows
Time for action – installing Git on Mac
Time for action – installing Git on Linux
Summary
Suit up – getting ready for your Git
Initiation
Time for action – initiation in GUI mode
Time for action – initiation in CLI mode
Time for action – configure Git in GUI mode
Time for action – configure Git in CLI mode
Adding your files to your directory
Time for action – adding files to your directory (GUI and CLI mode)
Time for action – usage of .gitignore
Committing the added files
Time for action – committing files in GUI mode
Time for action – committing files in CLI mode
Time for action – rescan in GUI mode
Checking out
Time for action – checking out using GUI mode
Time for action – checking out using CLI mode
Resetting
Time for action – reset using GUI mode
Time for action – reset using CLI mode
Summary
Why share your files
Time for action – adding a remote origin using CLI mode
Time for action – resume your work from anywhere using CLI mode
Time for action – adding a remote origin using GUI mode
Time for action – resume your work from anywhere using GUI mode
Time for action – creating a bare repository in CLI mode
Time for action – creating a bare repository in GUI mode
Summary
Why learn such fancy features
Time for action – getting acquainted with shortlog
Time for action – parameterizing shortlog
Time for action – skip commit logs
Time for action – filter logs with date range
Time for action – searching for a word/character match
Time for action – emulate the mess
Time for action – clean up your mess with pattern match
Time for action – wipe out your mess completely, no exceptions
Time for action – lightweight/unannotated tagging
Time for action – referencing tags
Time for action – annotated tagging
Summary
Git for text-based files – an introduction
Multiplayer mode – multiple players at a time
Time for action – getting ready to share
Time for action – distributed work force
Time for action – Bob's changes
Time for action – Lisa's changes
Time for action – Lisa examines the merge conflict
Time for action – Lisa resolves the merge conflict
Time for action – team members get sync with the central bare repo
Summary
What is branching
Why do you need a branch
When do you need a branch
Practice makes perfect: branching with Git
Time for action – creating branches in GUI mode
Time for action – creating branches in CLI mode
.config file – play with shortcuts
Time for action – adding simple aliases using CLI
Time for action – chain commands with a single alias using CLI
Time for action – adding complex aliases using GUI
Summary

Authors

Ravishankar Somasundaram

Ravishankar Somasundaram has over 6 years of techno-functional experience in providing solutions to clients across multiple sectors and domains. Being passionate about learning and teaching, he also strongly believes that the sole purpose of learning is to make our minds think in different perspectives, and he facilitates this in his training sessions through a blended learning approach mainly focused on how to "learn to learn". Junior Scientist: Apart from winning several prizes in science projects in his lower schoolings, he was awarded the title "Junior Scientist" by the committee consisting of people from the Indian Space Research Organization (ISRO) in an Inter school Science Fest for a model display on Evolution of Airplanes through Aerodynamics. This is one of his childhood achievements. His final year college project, aimed at eliminating the scenario of English alone being the medium of programming in all programming languages, which restricts people who don't know English from getting into the IT field and implementing their ideas, was selected and funded by MIT NRCFOSS and considered as a landmark. By early 2010 he was an official third-party developer of Moodle code, one of the seven people from India and the only one from Tamil Nadu. He shares his knowledge by helping people on the Moodle official forum and on IRC. He has also presented a paper in the 9th International Tamil Internet conference on Moodle: For Enhanced Learning which talks about leveraging Modle's capability to expand user base for one of the oldest language known to mankind - Tamil. Ravi currently leads Thirdware technology solutions efforts on "Next Generation Mobility" by playing with evolving technologies through its trends - predominantly focusing on Enterprise mobility (MEAP segment) as a Senior Technical Analyst heading the R&D division. Recently he represented his company at an international conference: "Yugma – Unleashing the Innovation Potential", with an idea that uses Artificial Intelligence to empower the next generation of enterprise mobile solutions.