Source code management (SCM) is a convention within the developer/ programing industry strongly connected with idea and use of Git to manage code and text based files. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency (Git-scm.com 2015). For text and code projects, the back-up strategy typically includes version control, or tracking and managing revision. Each developer can make several revisions per day, and the ever increasing corpus serves simultaneously as repository, project narrative, communication medium, and team and project management tool (Loeliger 2009).
Using git has benefits to group projects like
- Easy and simple to use
- Branching and merging projects together allows several members to develop the same project simultaneously that can be merged back together further on.
- Community shearing means any developer can pick the work up and continue to develop with it creating a timeline of development
- Errors, bugs or backtracking can be performed at any time because of the logging systems precise level of storage and references means all changes can be seen throughout the development, meaning this can be returned to instantly.
- Management can see the development of a project in a literal versions thats not code based.
Implementing SCM or Git within a collaborative project usual uses an online repository services that hosts the Git documentation and the project files to giving access to participants. Services like Github or Bitbucket are just a few of these services that provide onlining hosting for Git projects.
These services provide a graphical interface for the Git project showing the all the projects Commits (Commit is a single libeled change to the project), the to perform ability merges and resolve clashes and errors. This is helpful for developers as it highlights clashes or differences between branches (branch is a separate line of development with a single project) giving a developer to fix or debug the issue. Push or Pulling an entire project is a feature that developers on the move use constantly to update the online hosted version of the project. Pushing the project up gives other team members to see the work, git commits and progress with the project that they can then download and work with as well.
Within our Application project its vital that we implement an SCM system as all members will be contributing towards the programing or design programing. Some members will have a more design based focus however will still needs to implement or tinkers with the design style of the application during its development. Using a hosted service such a Bitbucket, we can give access to private repositories so that information is not being released to a public domain.
During the development of the application commits will be vital to the success of the SCM as it will create a timeline of the applications development for the client to see. This will be useful for the assessment criteria because it will show how we iterated through the design, development and testing process ending at our final product that we present to the client.
We have setup a private repository here. It cannot be viewed by non group members but will be made public as soon as the client is supplied with the final product.