-
Notifications
You must be signed in to change notification settings - Fork 53
Git sync docs rework #1193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Git sync docs rework #1193
Changes from all commits
4a20e8a
7d4cd0a
b3c93a2
6228dc4
12c490d
62f0261
cc36f18
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| --- | ||
| slug: workspace-forks | ||
| version: v1.593.0 | ||
| title: Workspace forks | ||
| tags: ['Workspaces', 'Git sync', 'Collaboration'] | ||
| description: Create independent copies of workspaces for parallel development workflows, similar to git branches. Merge changes back to parent workspaces directly from the UI or through git sync. | ||
| features: | ||
| [ | ||
| 'Fork workspaces to create independent development environments', | ||
| 'Automatically create git branches when used with git sync', | ||
| 'Merge forked workspaces back to parent workspaces from the UI', | ||
| 'Multiple developers can work on separate forks simultaneously', | ||
| 'Deploy individual items to parent workspace using deployment UI' | ||
| ] | ||
| docs: /docs/advanced/workspace_forks | ||
| video: /videos/merge-ui-demo.mp4 | ||
| --- |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| import DocCard from '@site/src/components/DocCard'; | ||
|
|
||
| # Collaborating on Windmill | ||
|
|
||
| In windmill there are multiple ways to collaborate | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Windmill |
||
|
|
||
| ## Workspace forks | ||
|
|
||
| The easiest and main way of collaborating on windmill is through the use of workspace forks. This feature lets users branch off of a workspace and have an exact copy where they can create new items or make changes, test them, and deploy them to the main workspace once it's all working. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Backlink |
||
|
|
||
| <video | ||
| className="border-2 rounded-lg object-cover w-full h-full dark:border-gray-800" | ||
| autoPlay | ||
| loop | ||
| src="/videos/merge-ui-demo.mp4" | ||
| /> | ||
|
|
||
|
|
||
| ## Git sync | ||
|
|
||
| Git sync is a feature that replicates the state of a workspace into a git repository. When properly set-up, changes made to the repository are immediately reflected in the workspace, and vice-versa. This enables local development as well as development in the Web IDE to be tracked and managed by git, and any git-based workflow is possible. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Backlink |
||
|
|
||
|
|
||
| ### Git sync + Workspace forks | ||
|
|
||
| Workspace forks unlock their full potential when git sync is enabled. When a fork is created, a branch with a corresponding name is created, and changes are tracked there. | ||
|
|
||
| ### Example: feature development workflow | ||
|
|
||
| 1. **Create fork**: The user forks the `main` workspace into a fork named `wm-fork-new-feature` | ||
| 2. **Develop**: User makes changes in the forked workspace -> The changes are reflected in the branch `wm-fork/main/new-feature` of the repo | ||
| 3. **Create PR**: A PR is automatically created by the CI from `wm-fork/main/new-feature` -> `main` | ||
| 4. **Review & merge**: Team reviews changes before merging to main branch | ||
| 5. **Sync back changes**: Changes are automatically synced to the main workspace as soon as the PR is merged. | ||
|
|
||
| <video | ||
| className="border-2 rounded-lg object-cover w-full h-full dark:border-gray-800" | ||
| autoPlay | ||
| loop | ||
| src="/videos/fork_workspace_demo.mp4" | ||
| /> | ||
|
|
||
|
|
||
| ## Advanced setup: Cross-instance deployment (promotion) | ||
|
|
||
| When you have workspaces in different instances, for example in a setup with a staging instance and a prod instance, you might want to deploy changes from one workspace to the other. One way to do this is through a cross-instance promotion: when changes are made in the first "staging" workspace, a branch with a name corresponding to the item is created in the second workspace's repo. A PR is automatically created through the CI/CD. Changes are reviewed, and once the PR is merged the changes are reflected in the "production" workspace. | ||
|
|
||
| **Requirements**: | ||
| - Git sync should be setup on both workspaces, so that they're both syncing changes with their respective repositories. | ||
|
|
||
|  | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is already a page 'Collaboration in Windmill' https://www.windmill.dev/docs/core_concepts/collaboration
Find another title