La mise à niveau de GitHub Desktop 2.0 dote le client pour Windows et MacOS du support du rebasage et du stashing afin de permettre respectivement des changements de contexte et la conservation d’un historique propre des changements. Selon GitHub, l'objectif de GitHub Desktop 2.0 est de faciliter le travail des équipes et de supporter des modèles de développement communs.
Parmi les nouvelles fonctionnalités de Desktop 2.0, on peut citer :
-Le stashing, très utile quand les développeurs, en cours de correction de bogue, ont besoin de changer temporairement de contexte. Un développeur qui n'est pas prêt à livrer un Commit work peut néanmoins apporter des changements à une nouvelle branche Git ou les conserver dans une branche courante.
- Le rebasage, également très utile quand un développeur préfère conserver un historique des changements propre sans fusionner les historiques. Les développeurs habitués à fusionner les branches peuvent toujours utiliser le même workflow, mais ceux qui travaillent dans un référentiel dans lequel ils ne veulent pas fusionner les changements peuvent utiliser le rebasage pour conserver un historique des changements tel quel. Basé sur le framework d’app desktop Electron de GitHub, GitHub Desktop a été écrit en TypeScript et utilise la bibliothèque JavaScript d’interface d’application React. Depuis la sortie en open source de la version 1.0 de GitHub Desktop en septembre 2017, GitHub a ajouté des fonctionnalités favorisant le travail en équipe, y compris la possibilité de sélectionner le co-auteur d'un changement en mentionnant son nom d'utilisateur GitHub, et de prolonger son travail dans GitHub en suivant la prochaine étape proposée. Des projets futurs prévoient d'accroître les capacités de contexte de GitHub, GitHub faisant un premier effort en intégrant étroitement les requêtes pull entre GitHub et GitHub Desktop. Le client GitHub Desktop est téléchargeable sur le site du projet.