# GIT Repositories in Astera Data Stack

### Video

{% embed url="<https://www.youtube.com/watch?v=_s9L2BVVmgw>" %}

### Cloning a Repository

Astera Data Stack provides the user with the ability to clone a repository from a remote server.

1. Select Git from the main toolbar and click on *Clone Repository* from the drop-down menu.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/fMUjCsha7gq5rtnIRWlv/01-Cloning-Repo-Drop-Down.png)

A new window will open.

{% hint style="info" %}
**Note:** You can also open an existing repository or create a new repository from the above context menu.
{% endhint %}

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/eVp6oLjbvagMI3QuArch/02-New-Screen-Git-Clone.png)

*Local Repository –*

*Path:* This is where the user will provide the destination path of the cloned repository from the remote server.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/4T0cGFUmonldxKawBrfx/03-Git-Path-Destination.png)

*Remote –*

*Url:* This is where the user defines the URL resource of the remote repository.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/SstCW9nyYuDn55czhZvE/04-Git-Clone-Remote-URL.png)

2. Once done, you can provide the remote connection by clicking the *Authenticate* button.

This will open a new window.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/nTs8skkspUNTuGKzUoID/05-Authentication-Settings.png)

*Committer Info –*

*Name:* The user performing the commits on a repository.

*Email:* The email address of the user performing the commits on a repository.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/11QMkG4zIhdPgf5NJpyo/06-Authentication-Credentials.png)

*Authentication –*

*Security Type*: This is where we select the type of authentication for the remote connection.

{% hint style="info" %}
**Note:** For now, Astera offers *No Authentication* and *Bearer Token*.
{% endhint %}

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/61SHjNDDqSD2GGRrWfKe/07-Authentication-Types-Git-Clone.png)

3. Selecting *Bearer Token* lets the user enter the *Access token* and then establish a connection.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/4kxMZEtvE3UytWTArlh8/08-Access-Token-Clone-Git.png)

4. Enter *Access Token* and click *OK.*

You will be led to the previous screen.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/YyFlRMZFo28faXA0hOgO/09-Okay-Click-Clone-Repo.png)

5. Click *OK* and the repository will be cloned.

It can be seen in the *Remote Branches* Section of the Git Branches Browser.

To check out any branch to perform changes and commits on it, select the branch, right-click and select *Checkout Branch* from the context menu.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/dkx3GMRIxscjcFQ9Zwdb/10-Git-Checkout-Branch.png)

6. Now, to add any file to the repository, simply open a new dataflow or a workflow designer and create an ETL pipeline.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/QnKlkgpQS612EJX9ju6Y/11-Git-Add-File.png)

To commit the changes, you can open Git Changes browser by clicking on the *Changes* option under *Open Browsers.*

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/YiTKJsVsLy0wg2L2RSLy/12-Git-Changes-New-Flow.png)

Here, you can see that any flow you saved to the repository will be Unstaged.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/BPFpdjvdyGme58UfK6gs/13-Unstaged-GIT.png)

7. Right-click on any of the flows and select *Stage* from the context menu.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/uFOXHJgeLveSdhVdDNG3/14-Staged-Flow.png)

Once the flows have been staged, you can decide whether to commit or push the changes to the repository.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/tfrBXTsiW6WYWMnlZSHX/15-Commit-And-Push.png)

8. To access the history of changes on each branch, simply right-click on that particular branch and select *View Branch History* from the context menu.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/9C9PooDkD7oNrkB3qTbU/16-Branch-History.png)

This concludes the functionality of Git repositories in Astera.
