The Adventures of Individual Assignmnt – Part 5 Finale
Hello Globe! This is it. It’s the last time you’ll probably hear from me. (Thank God!) 😛
This final post entails the review of a tool to assist developers in a team.
My choice of tool is: GitHub – A Version Control System that helps developers work collaboratively.
GitHub is widely used and recognised, with over a million users and over two million repositories.
Before we can into the technical details of the tool, lets first answer a few simple questions:
Briefly introduce the tool or technique:
1. What is it called?
2. What is the primary purpose of the tool or the technique?
GitHub’s primary purpose is to create repositories for developers to share code and collaborate. Project management and code hosting is also an integral part of GitHub.
3. Where can the reader get it?
Simply create a new account – it’s free!
4. What are alternative tools or techniques to achieve a similar purpose?
There are a plethora of alternatives, however the more popular ones include:
- Repository Hosting
From your experience – review the tool
Git is locally enabled that is distributed so that connectivity doesn’t block work and doesn’t require a complicated server.
Version control for Git takes snapshots rather than storing the differences. This has been highlighted as a difference to other version control systems, making git the supposedly better system.
From the book, it informs us of the basic Git workflow entailing three steps.
1) First, you make changes and modify the files in your working directory.
2) Then, you stage the files i.e. adding snapshots of your modified files, ready to update to the current version in the next commit.
3) Lastly, you perform the commit – and basically, the files that they are in the staging area are permanently and safely stored into your Git directory.
Is the tool useful in achieving its primary purpose or are there better solutions available?
The tool is quite useful when developers would like to actively work on code together – because repositories are a great way to enable collaboration. You can also use GitHub to be social, in terms of connecting with others and contribute to their code. This is actively promoted in GitHub. Other solutions might be better if coding and working in a team is not your strong suite, for example Bitbucket is very user interfaced based. In fact, github is quite technical.
What knowledge is required to start using the tool?
Some coding knowledge will be helpful because the main purpose of github is to enable developers to collaboratively work together. In particular, working on the same file and saving it. Therefore, you can say that without any coding knowledge of any language, one will be reluctant to use github as other programs can maintain history and record changes.
Is it a sharp learning curve? Is the help/documentation useful?
The learning curve is somewhat sharp. Due to the nature of version control software, it may be slightly different to, say a standard project management tool as github will take longer to adapt to. However, the amount of support available on GitHub will facilitate a swift learning experience.
As with most technical tools, experience is your best friend. Once you become familiar with Git, things will become second nature to you.
Were there any tutorials or help guides that you found useful?
Yes, there is a plethora of help available to learn Git functions. From the start there is a step by step process to install and assists the user to getting started straight away. However, for some more sophisticated functions, the book, external links and reading from the intermediate and advanced githelp
There are even training provided by an instructor
There are videos and a diverse community to help you if you feel lost or confused.
From your experience would you use this tool in the future?
If I were to develop code and create an application or system while expanding my knowledge by following others– then definitely yes, I would use github in the future. Not only does it improve my skills to work collaboratively, but it provides me with more technical skills such that I can learn off other people’s code and work as a team – at the same time on the same file.
However, some teams that I may work with might not particularly enjoy using technical tools such as github and would prefer a tool that is simple and avoids additional coding. Or a separate tool from their built-in IDE plugin version control software.
In the end, it’s up to user preference – but I do recommend github – it’s the most popular open source hosting site for collaborative coding.
Give the reader instructions on how they can get started with the tool or technique (it may be useful to provide screen-shots).
Then to make life even easier github has created:
Make sure you provide any hints or tips that you have learnt from your experience.
Use the help and documentation available! It will work wonders.
When I first started installing github, I admit, I was pretty lost. Why? Because I wasn’t making attend to the instructions. But, what put me back on track was the wide range of help available from the git website. Also, what I found very useful were the features – immediately after I got github installed, I was able to create a wiki, and perform code review – these features will prove to be very useful to develop into an effective team.
From my industrial placement, I found that wikis and issue tracking are significant tools/features that make business processes and understanding a lot easier. From my experience using github, I could easily draw the connections and physically see why enterprises utilise these tools widely.
You may wish to include a sample file that you have created.
Using my group assignment was a perfect sample to inspect and review the capabilities of github.
I found the user interface VERY easy to use and whereever changes were made, they immediately showed up.
In conclusion, I bid you all farewell and good luck.