Getting Started with Source Code Management (SCM) for Small Teams

[article]
    • official history. Good for backups, accountability and security

    • Security: Native subdirectory-level user access restrictions

    • Branches are easy and stored centrally

    • Gentlest learning curve for newbies, and operations like branching become quite intuitive as you progress

    • Ability to lock files, ensuring that others don’t work on the same binary files assets like documents and media files simultaneously

    • Widest adoption among developers

    • History of changes can’t be modified

Cons

    • Working offline means you can’t commit changes to the centralized repository until you have Internet connection, although this does not prevent developers from working on their local copies

    • Generally slower than Git, since most operations need to synchronize with the central server, especially when merging large branches

    • Possible to revise history and preserve only successes, not failur

Git
Built for development of the Linux operating system, Git is a distributed version control system that has an emphasis on being fast. Git projects lack a central repository; rather, every working directory is a full-fledged repository of its own, and is not dependent on network access or a central server. Git is convenient if you want to code offline or have many developers collaborating independently on a single branch, which is why Git is favored in many open source projects.

Pros

    • Decentralized model means many operations are faster and makes offline work more practical

    • More merge options, which are generally faster than Subversion

    • Branching is easier and faster

    • Comes with many tools like ‘bisect’ that can partly automate the process of finding where a bug was introduced

Cons

    • The local copy model means you need to be more careful of backing up your own workstations

    • The large set of commands can be esoteric and present a steeper learning curve

    • There is no file locking, which can cause issues with binary files

    • History can be changed, and being able to edit past commits might not leave the strong paper-trail you’d prefer

About the Author Guy Marion is former CEO of Codesion.com, now VP & General Manager of the Codesion Cloud Services Business Unit at CollabNet Inc. CollabNet provides hosted SCM and developer tools for distributed workgroups and enterprises – try it free for 30 days.

About the author

TechWell Contributor's picture TechWell Contributor

The opinions and positions expressed within these guest posts are those of the author alone and do not represent those of the TechWell Community Sites. Guest authors represent that they have the right to distribute this content and that such content is not violating the legal rights of others. If you would like to contribute content to a TechWell Community Site, email editors@techwell.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01