[Web IDE] Add additional source control operations to the Web IDE

Student Details

Name: Ahmed Kashkoush (@ahmad-kashkoush)

Mentor details

Project Description (min 2 to 5 sentences)

Implement Add additional source control operations to the... (gitlab-org&11142) • Unassigned

The current Web IDE in GitLab only supports basic version control operations through its API. Developers who use the Web IDE can't use important Git commands like stash (temporarily saving changes), rebase (reorganizing commit history), or amending commits. This limitation forces developers to switch between the Web IDE and command line, breaking their coding flow and reducing productivity.

Project Size

  • 90 hours
  • 175 hours
  • 350 hours

Skills Required

  • Strong JavaScript/TypeScript programming experience
  • Solid understanding of Git and its core concepts
  • Experience with frontend web development (React or Vue.js)
  • Familiarity with REST APIs
  • Basic understanding of user interface design

Project Details/Project Goal

Enhance GitLab's Web IDE by implementing advanced Git operations that developers commonly use. You'll work on adding features like stashing changes, rebasing branches, amending commits, and force pushing. This will make the Web IDE more powerful and allow developers to perform complex version control tasks without leaving their browser.

Project milestones

Status Target date Milestone goal Target deliverable
In progress 2025-06-20 Deliver commit force push feature Support additional commit operations in the Web... (gitlab-org/gitlab-web-ide#482 - closed)
In progress 2025-07-04 Deliver commit amend and force push feature Support additional commit operations in the Web... (gitlab-org/gitlab-web-ide#482 - closed)
2025-07-18 Implement staging virtual file system Add support for staging changes in the Web IDE (gitlab-org/gitlab-web-ide#476)
2025-08-01 Implement staging changes UI Add support for staging changes in the Web IDE (gitlab-org/gitlab-web-ide#476)
2025-08-15 Implement staging operations: Staging, unstaging, and committing staged changes. Add support for staging changes in the Web IDE (gitlab-org/gitlab-web-ide#476)
2025-08-29 Display branch operations Display branch operations in the source control... (gitlab-org/gitlab-web-ide#478 - closed)
2025-09-05 Final evaluation Display branch operations in the source control... (gitlab-org/gitlab-web-ide#478 - closed)
Edited by Enrique Alcántara