- Programmer A edits a file from a local clone of the repository on his/her system.
- When Programmer A has finished implementing Feature A or fixing Bug A, they “Commit” to their changes; a note can be added describing what they’ve changed, added, or removed.
- It would be wise at this point for Programmer A to “Pull” any changes to the remote repository; any alterations made will be cleverly merged.
- When Programmer A so desires, he or she can then “Push” the changes to the remote repository.
- Programmer B will receive these changes when he or she makes a “Pull”.
There’s way more to it than that, but that’s the basic idea; Git is awesome and I much prefer it to Apache Subversion (SVN).
“Intelligence is the ability to avoid doing work, yet getting the work done.”