> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an existing project

> Clone a repo and manage files in your workspace

A team member has [set up Diversion](/basic/start-using-diversion) for your project and [invited you to join](/basic/manage-project-access),
or maybe you want to get your own project that you created on another computer. Let's get you set up:

<Steps>
  <Step title="In the app, on the 'Remote Repositories' tab, you should see the repo">
    <img src="https://mintcdn.com/diversion-2/g_jyumy-qEjJFz_7/images/join-project-all-repos.png?fit=max&auto=format&n=g_jyumy-qEjJFz_7&q=85&s=6683bfe1c6ec72547fb52572730c0578" alt="Remote repositories tab" width="2880" height="1800" data-path="images/join-project-all-repos.png" />

    Open the repo's `...` menu and select `Clone repo`.
  </Step>

  <Step title="Choose a folder">
    A new folder with the repo's name will be created in it (here - `DiversionExample`).

    <img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/join-project-clone-repo.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=63d3aa8dd246230c5f4e1a6b4441af37" alt="Clone a repo" width="828" height="351" data-path="images/join-project-clone-repo.png" />

    Click `Clone`.
  </Step>
</Steps>

The project should start downloading right away. When it's done, you can open it and start working!

## File operations

Diversion gives you quick access to common file operations right from the Files view. Right-click any file to see the available actions, or use the file title bar when viewing a file.

<img src="https://mintcdn.com/diversion-2/byT8FECKa2zLvaOH/images/file-ops-context-menu.png?fit=max&auto=format&n=byT8FECKa2zLvaOH&q=85&s=b08fd56586965fcd43719cba2132f410" alt="Right-click context menu showing file operations" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="460" height="508" data-path="images/file-ops-context-menu.png" />

### Delete a file

<Steps>
  <Step title="Right-click the file">
    In the Files view, right-click on the file you want to delete and select **Delete**.
  </Step>

  <Step title="Confirm deletion">
    You'll see a confirmation dialog asking "Are you sure you want to delete the file '\[file-path]'?" Click the red **Delete** button to confirm, or cancel if you changed your mind.
  </Step>
</Steps>

The deleted file will appear in your pending changes in **red** with an **x** icon, indicating it has been deleted.

<img src="https://mintcdn.com/diversion-2/Ro_2EfA8JfapE5By/images/file-ops-delete-status.png?fit=max&auto=format&n=Ro_2EfA8JfapE5By&q=85&s=e4ed53a99bb6fcf3ab4fe5661ad33122" alt="Deleted file shown in red with x icon" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="386" height="198" data-path="images/file-ops-delete-status.png" />

For CLI usage, see the [rm command](/cmd-ref/rm).

### Rename a file

<Steps>
  <Step title="Right-click the file">
    In the Files view, right-click on the file you want to rename and select **Rename**.
  </Step>

  <Step title="Enter the new name">
    A dialog appears with the current file name pre-filled. Type the new name for your file.
  </Step>

  <Step title="Confirm the rename">
    Click **Rename** to apply the new name.
  </Step>
</Steps>

<Warning>Don't forget to include the file extension in the new name (e.g. `.txt`, `.cpp`, `.uasset`). Omitting it may cause the file to become unrecognized by your OS or game engine.</Warning>

<Note>File names cannot contain any of these characters: `< > : " / \ | ? *`</Note>

The renamed file will appear in your pending changes in **green** with a **double arrow (>>)** icon, indicating a move/rename operation.

<img src="https://mintcdn.com/diversion-2/cRpeD_gsb0j32D_2/images/file-ops-rename-status.png?fit=max&auto=format&n=cRpeD_gsb0j32D_2&q=85&s=f7158a7dee2050450d1bd256b41b3408" alt="Renamed file shown in green with double arrow icon" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="386" height="198" data-path="images/file-ops-rename-status.png" />

For CLI usage, see the [mv command](/cmd-ref/mv).

### Move a file

<Steps>
  <Step title="Right-click the file">
    In the Files view, right-click on the file you want to move and select **Move**.
  </Step>

  <Step title="Pick the target folder">
    A directory picker dialog opens. Browse to the folder where you want to move the file.
  </Step>

  <Step title="Confirm the move">
    Click **Move** to move the file to the selected folder. The file keeps its original name.
  </Step>
</Steps>

The moved file will appear in your pending changes in **green** with a **double arrow (>>)** icon, indicating a move/rename operation.

<img src="https://mintcdn.com/diversion-2/cRpeD_gsb0j32D_2/images/file-ops-move-status.png?fit=max&auto=format&n=cRpeD_gsb0j32D_2&q=85&s=75f61e902b26ad36ebdceaf3a24c9682" alt="Moved file shown in green with double arrow icon" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="386" height="228" data-path="images/file-ops-move-status.png" />

For CLI usage, see the [mv command](/cmd-ref/mv).

### View file history

<Steps>
  <Step title="Right-click the file">
    In the Files view, right-click on the file and select **History**.
  </Step>

  <Step title="Browse the history">
    The file history page shows all commits that changed this file, including the operation type (added, modified, moved), commit message, author, and date for each change. Click on any commit to see the diff for that version.

    <img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/file-ops-history-view.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=564f1550811f75b460c4c6dd354f541e" alt="File history page showing commits" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="2436" height="1644" data-path="images/file-ops-history-view.png" />
  </Step>
</Steps>

### Restore a previous version

When viewing a file at a specific commit, you can send that version to your workspace. This replaces the current file contents with the selected version, and the change appears in your pending changes.

<Steps>
  <Step title="Navigate to the file at a specific commit">
    You can get there in two ways:

    * From the **file history**: right-click a file, select **History**, then click on the commit you want.
    * From the **branch history**: open a commit, then click on the file you want to restore.
  </Step>

  <Step title="Send to workspace">
    In the file title bar, click the **Send this version to workspace** button (arrow icon).

    <img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/file-ops-restore-version.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=8b74516e16c5beb905069b798a9e83bb" alt="Send this version to workspace button in file title bar" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="1918" height="738" data-path="images/file-ops-restore-version.png" />
  </Step>
</Steps>

The restored file will appear in your pending changes as a modification. You can review the changes and commit when ready.

For CLI usage, see the [restore command](/cmd-ref/restore).

### Annotate (blame)

The **Annotate** view shows who last modified each line of a file, along with the commit message and date. This is useful for understanding how a file evolved and who is responsible for specific changes.

<Note>Annotate is only available for text files. Binary files are not supported.</Note>

<Steps>
  <Step title="Open the file history">
    Right-click a file in the Files view and select **History**.
  </Step>

  <Step title="Switch to the Annotate tab">
    Click the **Annotate** tab at the top of the file history view.

    <img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/file-ops-annotate-view.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=3ba68e411a4e977572af8bae253d46db" alt="Annotate view showing line-by-line commit attribution" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="2432" height="1640" data-path="images/file-ops-annotate-view.png" />
  </Step>

  <Step title="Browse line-by-line attribution">
    The left panel shows a color-coded dot, how long ago the change was made, the author name, and the commit message for each line range. The right panel shows the file contents with line numbers.
  </Step>

  <Step title="View commit details">
    Hover over any entry in the left panel to see full commit details: author avatar and name, date, full commit message, and commit ID. Click **View commit** to navigate to that commit.

    <img src="https://mintcdn.com/diversion-2/I1zVc2xApEwN8Z0T/images/file-ops-annotate-tooltip.png?fit=max&auto=format&n=I1zVc2xApEwN8Z0T&q=85&s=e6d950f2bcde315e73d973b6bbc268f3" alt="Annotate tooltip showing commit details on hover" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="1330" height="926" data-path="images/file-ops-annotate-tooltip.png" />
  </Step>
</Steps>

For CLI usage, see the [annotate command](/cmd-ref/annotate).

### Download a file

When you click on a file in the workspace or commit view, a download icon button appears in the file title bar. Click it to download the file to your computer.

<img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/file-ops-download-button.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=8baf7d8ae1da54260d72e56fcceb6351" alt="Download button in file title bar" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="1116" height="516" data-path="images/file-ops-download-button.png" />

### Open in Explorer (Desktop only)

Right-click a file in the Files view and select **Show in Explorer** (Windows) or **Reveal in Finder** (macOS) to open the containing folder in your system file explorer.

<img src="https://mintcdn.com/diversion-2/cRpeD_gsb0j32D_2/images/file-ops-open-in-explorer.png?fit=max&auto=format&n=cRpeD_gsb0j32D_2&q=85&s=8008959ad6bab64f0726e5dc76517dd8" alt="Show in Explorer option in context menu" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="240" height="233" data-path="images/file-ops-open-in-explorer.png" />

<Note>This option is only available for locally cloned workspaces. Make sure the Diversion agent is running.</Note>

This is also useful for opening project files directly. For example, you can use **Show in Explorer** to navigate to your Unreal Engine `.uproject` file and open it from there.

### Open with default app (Desktop only)

When viewing a file, click the **Open with default app** icon in the file title bar to open the file with whatever application your OS associates with that file type.

<img src="https://mintcdn.com/diversion-2/cRpeD_gsb0j32D_2/images/file-ops-open-with-default-app.png?fit=max&auto=format&n=cRpeD_gsb0j32D_2&q=85&s=514ee1be86069c0b4131ca60cad9298d" alt="Open with default app button in file title bar" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="608" height="74" data-path="images/file-ops-open-with-default-app.png" />

<Note>This option is only available for locally cloned workspaces. Make sure the Diversion agent is running.</Note>

You can also use this to open project files directly -- for example, opening a `.uproject` file will launch it in Unreal Engine. Keep in mind that you may need to have previously opened the project with the correct engine version for this to work as expected.
