> For the complete documentation index, see [llms.txt](https://docs.bdb.ai/bdb-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bdb.ai/bdb-documentation/data-pipeline/version-control.md).

# Version Control

{% hint style="info" %}
The illustration for pushing the Pipeline for versioning/migration has been provided below.
{% endhint %}

![Push For Pipeline Versioning.](/files/JLAoKtXUzz0Yu9W6pLRM)

{% hint style="success" %}
*The **Push to VCS** and **Pull Pipeline*** ***from GIT** features are present on the* [***List Pipeline*** ](/bdb-documentation/data-pipeline/getting-started/homepage/list-pipeline.md)*and* [***Pipeline Editor*** ](/bdb-documentation/data-pipeline/getting-started/pipeline-workflow-editor.md)*pages.*
{% endhint %}

### Pushing a Pipeline into VCS

* Navigate to the ***Pipeline List*** page.
* Select a data pipeline from the displayed list.
* Click the ***Push Pipeline*** icon for the selected data pipeline.                                &#x20;

![Pushing a Pipeline to VCS](/files/RsvS5qEb6PO0gWiOOpVT)

* The ***Push into Version Controlling System*** dialog box appears.
* Provide a ***Commit Message*** (required) for the data pipeline version.
* Select a ***Push Type*** out of the below-given choices to push the pipeline:&#x20;
  1. ***Version Control:*** For versioning of the pipeline in the same environment.
  2. ***GIT Export*** (Migration): This is for pipeline migration. The pushed pipeline can be migrated to the destination environment from the migration window in Admin Module.
* Click the ***Ok*** option.

&#x20;     ![](/files/Lq3PmiYUNTK6cee8EMpQ)

* A notification message appears to confirm the completion of the action.                                           &#x20;

![](/files/2meHuPyw2CO9H7Xty3KC)

{% hint style="info" %}
*Check out the below-given illustrations on how to attempt **Version Control** and **Pipeline Migration**.*
{% endhint %}

***Version Control:***

![Push For Pipeline Versioning.](/files/JLAoKtXUzz0Yu9W6pLRM)

***Pipeline Migration:***

![Push For Migration](/files/95qiR1M3BLRS7jiHXhGP)

{% hint style="info" %} <mark style="color:green;">Please Note:</mark>

* The pipeline pushed to the VCS using the Version Control option, can be pulled directly from the ***Pull Pipeline from GIT*** <img src="/files/6Pd1ep54ksOF2bZBRonu" alt="" data-size="line"> icon.
* The user also gets an option to ***Push the pipeline to GIT***. **This action will be considered as Pipeline Migration.**
  {% endhint %}

### Pulling a Pipeline from GIT

This feature is for pulling the previously moved versions of a pipeline that are committed by the user. This can help a user significantly to recover the lost pipelines or avoid unwanted modifications made to the pipeline.

{% hint style="info" %}
Check out the walk-through on how to pull a pipeline version from the GIT.
{% endhint %}

![Pulling a pipeline version committed earlier ](/files/w2DW8VoiE86P6RlU0nNV)

* Navigate to the ***Pipeline List*** page.
* Select a data pipeline from the displayed list.
* Click the ***Pull from GIT*** icon for the selected data pipeline.      &#x20;

![Pulling a Pipeline version from the GIT](/files/KIKArfk2RLdFa3hglk6R)

* The ***Pull from GIT*** dialog box appears.
* Select the data pipeline version by marking the given checkbox.
* Click the ***Ok*** option.

&#x20;    ![](/files/W5ASbCgqj6B97bbXzgFp)

* A confirmation message appears to assure the users that the concerned pipeline workflow has been imported.    &#x20;

![](/files/tGwbo2NYfKmXMvMNeB2i)

* Another confirmation message appears to assure the user that the concerned pipeline workflow has been pulled.   &#x20;

![](/files/Ha7kHHPRm93ut6AsNkX1)

{% hint style="info" %} <mark style="color:green;">Please Note:</mark>

* The pipeline that you pull will be changed to the selected version. Please make sure to manage the versions of the pipeline properly.
* Refer ***Migrating Pipeline*** described as a part of the [*<mark style="color:blue;">**GIT Migration**</mark>*](/bdb-documentation/core-platform/platform-administration/admin-panel-options/git-migration.md) (under the Administration section) on how to pull an exported/migrated Pipeline version from the GIT.&#x20;

{% endhint %}
