Adarsh Pai

Document Type

Honors Thesis


Git is an open-source distributed source control system designed to facilitate programming collaboration efficiently, enabling decentralized teams and developers to contribute to software engineering projects of varying scale. Despite its effectiveness and wide-scale adoption among both the professional and open-source community, its features are often underutilized, stemming from its steep learning curve, convoluted interface, and a general lack of clear documentation at times. In short, Git suffers from an inconvenient user experience (UX) problem. Although the idea of a Git GUI client is not inherently novel, Gitraffe separates itself by packaging a feature set comparable to industry incumbents, with features like Interactive Rebase, Cherry Picking, Reflog + Reset, Tailored Workspaces, and Shell Mode. In addition to this, Gitraffe proposes a textual interface that leverages Natural Language Understanding to understand user intent and recommend in-app operations through deep linking. This work primarily focuses on the Gitraffe module - the plumbing behind all the features on the Gitraffe client and ML Inference API that powers “Raffy” - Gitraffe’s Deeplink Search.

Publication Date






To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.