Using source control in the ServiceNow IDE
Summarize
Summary of Using source control in the ServiceNow IDE
The ServiceNow Integrated Development Environment (IDE) supports Git source control to help development teams manage application changes effectively. Administrators can use Git commands directly within the IDE to coordinate work across branches, synchronize with remote repositories, and handle merge conflicts, enhancing collaboration and version control in application development.
Show less
Key Features
- Git Commands Integration: Perform common Git operations such as checkout, clone, commit, branch creation, discard changes, fetch, pull, push, stage, and stash within the ServiceNow IDE’s Source Control view or command palette.
- Branch Management: Checkout and create branches to isolate development work. Only one branch per repository can be active on a given instance or developer sandbox.
- Commit and Stage Changes: Stage specific changes before committing them with descriptive messages to the local repository.
- Sync with Remote Repositories: Fetch updates, pull changes, and push commits to keep local and remote repositories synchronized.
- Stash Support: Temporarily save uncommitted changes locally with options to apply, pop, drop, list, or clear stashes for flexible development workflows.
- Merge Conflict Resolution: Identify conflicting files in the Source Control view and resolve conflicts by choosing changes or manually editing within the editor.
- Commit History Access: View detailed commit history per branch and per file, including diffs, to track changes over time.
- Repository Configuration: Update the remote repository URL when necessary using the Git: Update remote origin command.
Practical Benefits for ServiceNow Customers
- Streamlines application development by integrating source control operations into the ServiceNow IDE, reducing context switching.
- Enhances team collaboration through clear branch management and conflict resolution tools.
- Improves traceability and accountability with commit history and descriptive commit messages.
- Supports flexible development workflows via stash management and easy synchronization with remote repositories.
- Ensures administrators have control and visibility over Git operations directly within ServiceNow, simplifying development lifecycle management.
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 () or command palette, including but not limited to the following commands.
| Command | Description |
|---|---|
| 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 ( 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. |
| Commit ( Command palette: Git: Commit |
Commit your staged changes to the local repository. Enter a commit message to describe your changes. |
| Create branch ( Command palette: Git: Create branch... |
Add a branch to a repository and check it out. |
| Discard ( Command palette: Git: Discard Changes |
Discard changes to undo modifications to an application. |
| Fetch ( Command palette: Git: Fetch |
Fetch to sync commits and branches from the remote repository into the local repository. |
| Pull ( Command palette: Git: Pull |
Pull to merge the latest changes from the remote repository into the local repository. |
| Push ( Command palette: Git: Push |
Push your committed changes to the remote repository. |
| Stage ( 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 ( 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 to reapply your changes in your working directory. |
Merge conflicts
If there’s a conflict between local and remote changes in a file, the file is listed under Merge conflicts in the Source Control view (). You can review conflicts in the editor and resolve them by accepting the current or incoming change, both, or manually editing the file.
Commit history
The commit history for a branch is listed in the Commits section of the Source Control view () and includes details about the commits. To see the commit history for a file, navigate to the File Explorer view (
), select the file, and expand the Timeline section. When you select a commit, a Diff editor comparing the changes opens.
Repository changes
To update the remote repository an application is connected to, you can use the Git: Update remote origin command from the command palette and enter a different remote repository URL.