Looking to expand its already considerable user base, GitHub has introduced a new desktop GUI client that streamlines many of the functions of the online code repository.
The company is hoping that a GUI will attract those developers who are not as comfortable with the text-based interface used by GitHub's current crop of users, said Amy Palamountain, GitHub senior software engineer.
The free GitHub Desktop software, available for both Macs and Windows machines, supports most of the advanced functions now handled by the command line.
GitHub is a popular site for hosting software code. It uses the open source Git version control system first developed by Linux creator Linus Torvalds. It is now home to about 25 million software projects, making it the world's largest online code repository, according to the San Francisco company.
In addition to managing the code for large software projects, GitHub can also be used for managing other large collaborative projects, such as documentation files or Web sites.
Though the site offers the ability to download code via a Web page, to date, the chief way to interact with GitHub projects has been through a command line interface. The company did offer two different GUIs for Windows and Mac, though each had a different look-and-feel and offered limited functionality. Users of those programs will have the option to upgrade to the new client.
The new desktop software works exactly the same on Windows as it does on Mac, which should reduce the learning curve for those developers who hop back and forth between the two environments. It includes the ability to copy sections of the code to work on locally, called branching, which allows users to review code and create changes on their own machines.
The desktop client can also be used to commit developers' changes back into the main body of source code. It provides a full, updated view of the software project, both the master copy and the user's own copy.
The company did considerable work in creating the software so it can avoid race conditions, in which two people are working on the same part of the code base, and may overwrite each other's work, Palamountain said. The software can alert users when someone else is also working on the same code, and block simultaneous changes to the code base.
Although the company does not offer a Linux version of the desktop client, it is currently looking into the idea, Palamountain said. In addition to work with GitHub, the desktop clients can also be configured to work with privately run copies of Git, and will be included in the GitHub enterprise distribution as well.