Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 0 additions & 73 deletions docs/guides/collaboration/migrating-from-noodl-hosted-git.mdx

This file was deleted.

4 changes: 2 additions & 2 deletions docs/guides/collaboration/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ hide_title: true
---
# Collaboration

Noodl has a built-in git client to handle version control and make it easy to follow.
Fluxscape has a built-in git client to handle version control and make it easy to follow.

### [Start learning about version control of Noodl apps](/docs/guides/collaboration/version-control)
### [Start learning about Version Control for Fluxscape apps](/docs/guides/collaboration/setup-version-control)
130 changes: 130 additions & 0 deletions docs/guides/collaboration/setup-version-control.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Setup Version Control

## Introduction

Fluxscape uses Git as its underlying version control system. Version control allows you to:

- Collaborate with team members
- Work with multiple versions of a project in parallel (branches)
- Keep a full history of your project, locally or via a connected Git repository (e.g. GitHub)

Initializing version control always starts with **local Git**.
Connecting a remote repository is optional and done separately.

---

## Requirements

Before setting up version control, make sure:

- **Git is installed** on your machine
Fluxscape relies on your local Git installation.
- macOS: Git is usually preinstalled
- Windows: Install from https://git-scm.com
- Your project is stored in a local folder
- (Optional) A GitHub account if you want to collaborate or push to a remote repository

---

## Initialize Version Control (Local Git)

This is the first step and enables Git **locally only**.

1. Open your project in Fluxscape
2. Open the **Version Control** panel
3. Click **Initialize Version Control (Git)**

<div className="ndl-image-with-background">

![](/docs/guides/collaboration/version-control/init-git.png)

</div>

This will:
- Initialize Git in your project folder
- Enable local commits and history
- Not connect to GitHub or any remote service

All changes and history remain on your machine until a remote repository is added.

This setup is ideal for:
- Solo work
- Prototyping
- Working offline
- Getting started with version control

---

## Connect a GitHub Repository (Optional)

Connecting a GitHub repository allows you to collaborate with others and back up your project remotely.

Before connecting a repository in Fluxscape, make sure you either:
- Created a GitHub repository, or
- Were granted full access to an existing repository

Fluxscape always works with a **local project folder**. If you are connecting to an existing repository, it must be cloned to your machine first.

---

### Step 1: Choose or create a GitHub repository

You can connect:
- An existing GitHub repository (for example, one shared with you by a collaborator), or
- A newly created empty repository

:::warning Existing repository requirement
Fluxscape always works with a local project folder. If you are connecting to an existing project and repository, first clone the repository to your machine, import the project into Fluxscape, and then Open the Project.
:::
---

### Step 2: Set up GitHub authentication

GitHub requires authentication when pushing or pulling changes.

Fluxscape uses **GitHub Personal Access Tokens**.

#### Create a Personal Access Token
1. Visit https://github.com/settings/personal-access-tokens (Or go to Github Settings > Developer Settings > Personal Access Tokens)
<div className="ndl-image-with-background">
![](/docs/guides/collaboration/version-control/git-personal-access-token.jpg)
</div>
2. Create a **fine-grained personal access token**
<div className="ndl-image-with-background">
![](/docs/guides/collaboration/version-control/github-new-personal-access-token.png)
</div>
3. Set your Expiration
4. Select the repository you want to connect
5. Grant **Read & write** access to repository "Contents"
<div className="ndl-image-with-background">
![](/docs/guides/collaboration/version-control/github-personal-access-token-config.jpg)
</div>
6. Create the Token & Copy the token (it cannot be viewed again)
<div className="ndl-image-with-background">
![](/docs/guides/collaboration/version-control/github-personal-access-token-copy.jpg)
</div>

---

### Step 3: Configure the Git remote in Fluxscape

1. Open your project in Fluxscape
2. Open the **Version Control** panel
3. Click Version Control Settings (Gear Icon)
4. Find your GitHub Repo Origin URL
5. Paste the GitHub Repo Origin URL
6. Paste your Personal Access Token into **GitHub Credentials**
7. Save

<div className="ndl-image-with-background">
![](/docs/guides/collaboration/version-control/github-origin.jpg)
</div>
<div className="ndl-image-with-background">
![](/docs/guides/collaboration/version-control/git-origin-form.jpg)
</div>

## Next Steps

:::note
Continue to [Using Version Control](./version-control) to learn how to work with commits, syncing, conflicts, and branches.
:::
54 changes: 16 additions & 38 deletions docs/guides/collaboration/version-control.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,27 @@
# Version control
# Using Version Control

## Introduction

Version control has three main use cases:
This guide explains how to work with version control in Fluxscape once Git has already been set up for your project.
It covers day-to-day actions such as committing changes, syncing with collaborators, resolving conflicts, and working with branches.

- Collaborating with team members
- Working with different versions of your project in parallel (what's known as "branches")
- Backup. All versions are backed up in the cloud
:::note
If you haven’t set up version control yet, see
**[Setup Version Control](./setup-version-control)** before continuing.
:::

<div className="ndl-image-with-background s">

![](/docs/guides/collaboration/version-control/intro.png)

</div>

Noodl uses [Git](https://git-scm.com) as the underlying version control system. The project folder is a Git repository.
The most common way to interact with Git in Noodl is through the Version Control panel. Users comfortable with Git can use external git clients to view their Noodl projects as well.

## Enabling version control

To start using the version control features you need to init Git for your project. This can be done by opening the Version Control panel and clicking the "Initialize Version Control" button.

<div className="ndl-image-with-background">

![](/docs/guides/collaboration/version-control/init-git.png)

</div>

This will set up all necessary files to run Git in your project. From here you can version control locally, or push it to an external Git repository. This is useful if you want to collaborate with others, or keep your project backed up on a remote server.

Pushing to an external repo can be done by clicking the button labeled "To push changes set a git remote". You can also use the terminal, or a Git client like [Github Desktop](https://desktop.github.com/).

:::tip
If you're new to Git, don't forget to push your changes regularly to prevent losing your work. A good rule of thumb is to do it everytime you finish or change a feature.
:::

Any project collaborators will have to clone the project from the repo, and then open the downloaded Project Folder in Noodl.
Fluxscape uses [Git](https://git-scm.com) as the underlying version control system. The project folder is a Git repository.
The most common way to interact with Git in Fluxscape is through the Version Control panel. Users comfortable with Git can use external git clients to view their Fluxscape projects as well.

The easiest way to get started with Git is through Github. Read more about creating Github repos [here](https://docs.github.com/en/repositories/creating-and-managing-repositories/quickstart-for-repositories) or cloning Github repos [here](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository).

:::note
Noodl will clear out the newly created repo when pushing for the first time. However, to be on the safe side, make sure to create the repo without any `README.md` or `.gitignore` files.
:::

## The version control panel
## The Version Control Panel

The version control panel is where you perform all actions related to version control. This includes actions such as pushing new changes to your collaborators, pulling the latest version, seeing differences between versions, merging branches, and more.

Expand All @@ -63,15 +41,15 @@ When there are changes in your project you can commit them to the version contro

</div>

Noodl will now show you all the components and files that have changed, and by clicking them you can see the difference compared to the previous version.
Fluxscape will now show you all the components and files that have changed, and by clicking them you can see the difference compared to the previous version.

<div className="ndl-image-with-background l">

![](/docs/guides/collaboration/version-control/first-commit.png)

</div>

After the changes have been commited the commit is now visible in the history tab.
After the changes have been committed the commit is now visible in the history tab.

<div className="ndl-image-with-background">

Expand All @@ -83,7 +61,7 @@ Push your changes by clicking the button at the top that says "Push 1 local comm

## Pulling down changes

Noodl checks if there are any changes to pull down when the version control panel is opened.
Fluxscape checks if there are any changes to pull down when the version control panel is opened.

You can also manually check for updates by clicking the update icon

Expand All @@ -107,7 +85,7 @@ Any local changes you have, that aren't pushed, will still be there after pullin

## Conflicts

Sometimes you and your collaborators might change the same parameter on the same node. In those cases, Noodl doesn't know which change to apply and will ask you to resolve the conflicts.
Sometimes you and your collaborators might change the same parameter on the same node. In those cases, Fluxscape doesn't know which change to apply and will ask you to resolve the conflicts.

<div className="ndl-image-with-background l">

Expand Down Expand Up @@ -138,7 +116,7 @@ Create a branch by clicking the '+' icon in the version control panel's branch d

</div>

After a branch has been created Noodl will switch to the new branch. Any changes in your project that weren't pushed will be moved to this new branch.
After a branch has been created Fluxscape will switch to the new branch. Any changes in your project that weren't pushed will be moved to this new branch.

Changes you push will now belong to the new branch, and won't affect the other branches.

Expand Down Expand Up @@ -166,7 +144,7 @@ Changes from one branch can be merged into another branch. In this example, the

</div>

Clicking "Merge into main" will show a preview of the changes that are being merged in. Noodl is visualizing the changes as they will look after the merge has been done.
Clicking "Merge into main" will show a preview of the changes that are being merged in. Fluxscape is visualizing the changes as they will look after the merge has been done.

<div className="ndl-image-with-background l">

Expand Down
12 changes: 6 additions & 6 deletions static/data/guides.js
Original file line number Diff line number Diff line change
Expand Up @@ -438,20 +438,20 @@ const guides = [
items: [
{
type: 'doc',
label: 'Version Control',
id: 'guides/collaboration/version-control',
label: 'Setup Version Control',
id: 'guides/collaboration/setup-version-control',
imageUrl: '/img/featured-content-images/basic.png',
description:
'Learn how to use Noodls powerful version control features based on Git',
},
{
type: 'doc',
label: 'Migrating from Noodl hosted Git',
id: 'guides/collaboration/migrating-from-noodl-hosted-git',
label: 'Using Version Control',
id: 'guides/collaboration/version-control',
imageUrl: '/img/featured-content-images/basic.png',
description:
'Projects created with closed source Noodl need to be migrated for collaboration to work',
},
Comment on lines 447 to -454

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should keep in mind that there is a link on the project page to this page.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, which project page?

We should keep in mind that there is a link on the project page to this page.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'Learn how to use Noodls powerful version control features based on Git',
}
],
},
{
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
8 changes: 6 additions & 2 deletions static/guides/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,12 @@
"sectionTitle": "Collaboration",
"guides": [
{
"title": "Version Control",
"url": "docs/guides/collaboration/version-control"
"title": "Setup Version Control",
"url": "docs/guides/collaboration/setup-version-control"
},
{
"title": "Using Version Control",
"url": "docs/guides/collaboration/using-version-control"
},
{
"title": "Migrating from Noodl hosted Git",
Expand Down