n8n/packages/cli/src/modules/source-control.ee
Irénée 978f810bbe
fix(core): Remove credentials of deleted projects on source control pull (#40692)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-09 09:29:07 +00:00
..
__tests__ fix(core): Remove credentials of deleted projects on source control pull (#40692) 2026-10-09 09:29:07 +00:00
middleware refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
types feat(core): Widen the content-import policy check to cover credentials (no-changelog) (#39379) 2026-09-28 16:05:10 +00:00
constants.ts chore: Bundle/2.x (#39935) 2026-09-30 07:44:10 +03:00
README.md docs: Add source control setup demo to SourceControl module README.md (#23964) 2026-01-07 11:03:46 +00:00
source-control-context.factory.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
source-control-export.service.ee.ts perf(core): Bound peak memory during source control push (#37862) 2026-09-07 13:15:41 +00:00
source-control-git.service.ee.ts chore: Bundle/2.x (#39935) 2026-09-30 07:44:10 +03:00
source-control-helper.ee.ts chore: Add typescript/no-deprecated and establish a baseline (#40168) 2026-10-02 12:54:37 +00:00
source-control-import.service.ee.ts fix(core): Remove credentials of deleted projects on source control pull (#40692) 2026-10-09 09:29:07 +00:00
source-control-preferences.service.ee.ts refactor(core): Move instance write access service (#40307) 2026-10-05 13:54:20 +00:00
source-control-resource-helper.ts refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
source-control-scoped.service.ts refactor(core): Move shared errors to @n8n/errors (no-changelog) (#39753) 2026-09-29 07:19:05 +00:00
source-control-status.service.ee.ts refactor(core): Move EventService to backend-services (#39743) 2026-09-29 10:22:19 +00:00
source-control.config.ts refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
source-control.controller.ee.ts refactor(core): Move EventService to backend-services (#39743) 2026-09-29 10:22:19 +00:00
source-control.module.ts chore: Migrate packages/cli to Typescript 7 (#34159) 2026-07-15 11:49:51 +00:00
source-control.service.ee.ts fix(core): Remove credentials of deleted projects on source control pull (#40692) 2026-10-09 09:29:07 +00:00

Source Control - Environments

Environments enable enterprise users of n8n to effectively manage multiple deployments of n8n by synchronizing them using a shared git repostiory.

Link to docs

Local development

When using the "usual" pnpm run dev scripts to start a local n8n instance, your local git settings and credentials will be picked up by the git repository that is cloned within n8n.

This is why you should start n8n in a docker container when doing any kind of manual testing of this feature.

Building a local docker image from your local checkout: pnpm build:docker

Starting a local container using that image: pnpm --filter n8n-containers stack:enterprise

The development experience of running n8n from source in a docker container still leaves a lot to be desired (lots of waiting for building and running the container). We should improve on this in the future.

Setup Demo

Video Demo

  • create a github repo
    • copy the ssh repository url
  • In n8n
    • go to settings/Environments
    • paste the ssh repository url
    • copy the ssh
  • Back in github
    • go to Settings/Deploy Keys
    • Click Add deploy key
    • Pate the ssh
    • important Tick "Allow write access"
  • Back in n8n
    • Click Connect