--- title: Using source control in the ServiceNow IDE description: Use Git commands and other source control features in the ServiceNow IDE to manage changes to an application across a development team. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/application-development/servicenow-ide-family-release/using-source-control-servicenow-ide.html release: australia product: ServiceNow IDE \(Family Release\) classification: servicenow-ide-family-release topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 3 keywords: [The following Git commands are supported] breadcrumb: [Integrate source control, ServiceNow IDE, Building applications in source code, Building pro-code applications, Developing your application, Building applications] --- # Using source control in the ServiceNow IDE Use Git commands and other source control features in the ServiceNow IDE to manage changes to an application across a development team. Role required: admin ## Git commands After initializing a local Git repository in the ServiceNow IDE, you can perform several Git commands from the Source Control view \(\[Omitted image "servicenow-ide-source-control-icon.png"\] Alt text: Source Control\) or command palette, including but not limited to the following commands.
| Command | Description |
|---|---|
| Checkout to \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Checkout to...**\) Command palette: **Git: Checkout to...** | Check out another branch from the repository. Select the branch from the list or create a branch and push it to the remote repository.Only one branch per repository can be checked out at a time on an instance\(or developer sandbox\). |
| Clone \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Clone**\) Command palette: **Git: Clone** | Clone a remote repository to add an application to your workspace.For more information, see [Clone a Git repository with the ServiceNow IDE](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/application-development/servicenow-ide-family-release/clone-git-repository-servicenow-ide.md). |
| Commit \(\[Omitted image "servicenow-ide-commit-icon.png"\] Alt text: Commit\) Command palette: **Git: Commit** | Commit your staged changes to the local repository. Enter a commit message to describe your changes. |
| Create branch \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Branch** > **Create branch...**\)Command palette: **Git: Create branch...** | Add a branch to a repository and check it out. |
| Discard \(\[Omitted image "servicenow-ide-discard-icon.png"\] Alt text: Discard Changes\)Command palette: **Git: Discard Changes** | Discard changes to undo modifications to an application. |
| Fetch \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Fetch**\)Command palette: **Git: Fetch** | Fetch to sync commits and branches from the remote repository into the local repository. |
| Pull \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Pull**\)Command palette: **Git: Pull** | Pull to merge the latest changes from the remote repository into the local repository. |
| Push \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Push**\)Command palette: **Git: Push** | Push your committed changes to the remote repository. |
| Stage \(\[Omitted image "servicenow-ide-stage-icon.png"\] Alt text: Stage Changes\) Command palette: **Git: Stage Changes** | Stage the changes in your working directory that you want to commit. When you stage changes, files move from the Changes list to the Staged Changes list. |
| Stash \(\[Omitted image "servicenow-ide-more-actions-icon.png"\] Alt text: More actions > **Stash**\)Command palette: **Git: Stash**, **Git: Pop**, **Git: Drop**, **Git: List**, **Git: Apply**, **Git: Clear** | Stash all uncommitted changes to save them in your working directory locally and come back to them later.The pop, drop, list, apply, and clear subcommands are supported when stashing. Select **Stash** > **Apply** to reapply your changes in your working directory. |