---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Use AES with a Git source control repository

# Use AES with a Git source control repository {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Use AES with a Git source control repository

App developers using App Engine Studio (AES) in ServiceNow can manage application development through integration with Git source control repositories.
This integration enables effective collaboration, version control, and branch management for applications linked to Git on non-production instances.
Show full answer Show less  

## Key Features

* **Source Control Actions in AES:** Developers can import applications from Git, pull and apply remote changes, commit local changes, create tags for specific application versions, and create or switch branches to manage multiple application versions simultaneously.
* **Collaboration Note:** Only changes checked into Git are visible to other developers, ensuring synchronized work across teams.
* **Repository Management in AES:** Application repository credentials can be edited, commits can be managed, branches created or switched, and applications imported directly within AES.
* **Limited Production Support:** Source control integration is not supported on production instances. For production, applications are managed via the application repository, update sets, or AES Application sharing features.
* **Git Repository Operations:** Developers can modify application files outside AES, including moving files within the repository structure by setting paths in the `snsourcecontrol.properties` file.
* **File Validation and Sanitization:** A `checksum.txt` file is used to detect changes made outside AES. When discrepancies occur, the system validates and sanitizes files, removing unsupported content and aborting operations if critical validation fails.
* **MID Server Support:** Existing MID Servers can connect to Git repositories, including those behind firewalls, facilitating secure access.

## Source Control Operations in AES

* **Importing Applications:** Import apps or customizations from Git into AES for continued development.
* **Change Management:** Pull remote changes, commit local changes, stash changes locally for later application, and resolve conflicts by selecting appropriate file versions.
* **Versioning and Branching:** Create and manage versions and branches within Git repositories directly from AES.
* **Commit History:** View detailed commit histories of linked applications to track development progress.
* **Repository Structure Flexibility:** Move application files within the Git repository to organize supporting content such as automated tests alongside application files.

## Practical Benefits for ServiceNow Customers

This integration streamlines application lifecycle management by enabling developers to leverage Git workflows directly within App Engine Studio. It fosters collaboration by ensuring all changes are tracked and shared via Git, supports multiple development streams through branching, and maintains code integrity with automated validation and sanitization. The ability to manage repository credentials and access repositories behind firewalls via MID Servers adds operational flexibility and security.  
App developers working in App Engine Studio (AES) can manage their data repository in numerous
ways.  
After your [admin has linked an application to Source control](https://servicenow-prod.fluidtopics.net/PHWaXlOkk7~tK7C9yJ4vSA "Enable application developers to integrate App Engine Studio (AES) with a Git source control repository to save and manage multiple versions of an application from a non-production instance."), all application developers on a non-production instance can perform these actions:

* Import applications from a Git repository.
* Pull and apply remote changes from a Git repository.
* Commit all local changes on the instance to a Git repository.
* Create tags to permanently link to a given version of an application.
* Create branches to maintain multiple versions of an application simultaneously.

{#aes-source-control-use__ul_f23_qsk_p5}  
Note:  
If you're using source control to collaborate with other developers, only changes that have been checked in are available to other developers. For example, if an admin creates a new flow for an app that's linked to Git, the new flow won't be available in the app for other AES users until the admin checks the flow into Git.

## Options available from App Engine Studio {#aes-source-control-use__section_k2d_kyg_kjb}

After an application has been linked to source control, application developers can use App Engine Studio to manage the repository. From App Engine Studio, developers can:

* Edit the application repository credentials.
* Commit all local changes on the instance.
* Apply remote changes from the repository.
* Create a branch.
* Switch branches.
* Import an application from a remote repository.
{#aes-source-control-use__ul_u55_hl4_q5}

Source control integration does not support managing applications on a production instance.
Instead, you can manage applications on a production instance using the application repository,
an update set, or App Engine Studio. For more information about managing
applications on a production instance, see [Application sharing](https://servicenow-prod.fluidtopics.net/WVhVgBTo~JwieNDZgRl~lg "Administrators can share applications that are complete and are ready for use on other instances.").

## Options available from a Git repository {#aes-source-control-use__section_spn_nyg_kjb}

The ServiceNow platform offers limited support for modifying linked application files outside of an instance. From Git, developers can:

* Move application files to a different Git directory structure.
* Edit application files outside of App Engine Studio.
{#aes-source-control-use__ul_gtn_34f_kjb}

The system generates a properties text file called
sn_source_control.properties at the root level of the repository. To move
application files to a different Git directory structure, application developers can set the
path parameter to specify the subfolder path containing their application
files. For example, if you moved your application to the src/app subfolder,
set the path to `path=src/app`.  
The system generates a checksum.txt file in the Git repository to determine if any application files have been changed outside of App Engine Studio. When the checksum value from the file matches the current checksum value, the integration skips the validation and sanitization process. When the checksum values do not match, the integration validates and sanitizes the application files as part of the source control operation. The sanitization process:

* Creates upgrade log entries for each sanitization action taken.
* Removes unsupported folders and files from the repository.
* Aborts all source control operations when a system application file fails XML schema validation. For example, if a database dictionary record fails XML schema validation, the system aborts all operations.
* Skips the current source control operation when a non-system application file fails XML schema validation.
{#aes-source-control-use__ul_sqt_z4f_kjb}

The source control integration sanitizes only content within the application path listed in
the sn_source_control.properties file. Repository content outside the
application path is ignored.

## MID Server support {#aes-source-control-use__section_ew2_4y1_njb}

Use an existing MID Server to connect to a source control repository. Accessing an application
through a MID Server enables access to repositories behind a firewall.
* **[Source control operations in App Engine Studio](https://servicenow-prod.fluidtopics.net/DtQVV~EyTl4L4czBCqFMZQ)**   
  The source control integration primarily supports operations from App Engine Studio (AES), but can also support some operations directly from the Git repository.
* **[Import application or application-customization from source control](https://servicenow-prod.fluidtopics.net/GOykPLZAFAO6aQOyKEwJnQ)**   
  Import an app or app customization from a source control repository into App Engine Studio (AES) to continue developing it on this instance.
* **[Work with changes in Git](https://servicenow-prod.fluidtopics.net/rZGUf~_xGYmWDiCU1k8vgg)**   
  Developers using App Engine Studio (AES) can pull and commit changes in their Git repository.
* **[Create versions and branches in Git](https://servicenow-prod.fluidtopics.net/wzAvzEpS3pqpIyooIhz9OA#create-versions-branches-git)**   
  App developers using App Engine Studio (AES) can create versions and branches in their Git repositories.
* **[Stash changes](https://servicenow-prod.fluidtopics.net/HYdTd1oHFgY_NMFZoRcstA)**   
  Developers can remove and save changes locally to apply them later, and manage stashed changes from App Engine Studio (AES).
* **[Resolve conflicts](https://servicenow-prod.fluidtopics.net/a4KhrR3kW4SCV4ZO16icBA)**   
  App developers can select the app file version to use when applying remote or stashed changes in App Engine Studio (AES).
* **[View commit history](https://servicenow-prod.fluidtopics.net/nLGLOBgLCoSSKtld9JLhpA)**   
  App developers can view the commit history of apps linked to a source control repository in App Engine Studio (AES).
* **[Move application files in a Git repository](https://servicenow-prod.fluidtopics.net/f8s8mnFeDyA84fn1zDhEzg)**   
  Move application files linked to source control to any folder of the repository when working in App Engine Studio (AES). Allow application developers to store supporting content such as automated tests in the same repository as the applications they support.

