> For the complete documentation index, see [llms.txt](https://docs.bdb.ai/data-pipeline-4/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/data-pipeline-4/version-control.md).

# Version Control

The Version Control feature has been provided for the user to maintain a version of the pipeline while the same pipeline undergoes further development and different enhancements.

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

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FaeU0hbInUhfjB8fkonTs%2FPushVCS.gif?alt=media&#x26;token=fe3b6bab-ca29-4749-8e11-fb41c31afb53" alt=""><figcaption><p>Pushing a Pipeline for Pipeline Versioning.</p></figcaption></figure>

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

## Pushing a Pipeline into VCS <a href="#pushing-a-pipeline-into-vcs" id="pushing-a-pipeline-into-vcs"></a>

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

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FFTtbkCbeylrieeDovXhn%2Fimage.png?alt=media&#x26;token=67762e00-9ea0-4dd8-938f-2c64d6b4475f" alt=""><figcaption><p>Pushing a Pipeline to VCS</p></figcaption></figure>

* 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:
  1. 1.***Version Control:*** For versioning of the pipeline in the same environment.
  2. 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.

![](https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FuDYc3uiMZC2GEa5tjxA2%2Fimage.png?alt=media\&token=9f539020-c3e4-4319-9c35-307be855cc9b)​​

* A notification message appears to confirm the completion of the action.

![](https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FGuvSb1TiuvDdMjvweqJH%2Fimage.png?alt=media\&token=3e02a11b-9aad-4bed-b031-faa156432b66)

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

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FaeU0hbInUhfjB8fkonTs%2FPushVCS.gif?alt=media&#x26;token=fe3b6bab-ca29-4749-8e11-fb41c31afb53" alt=""><figcaption><p>Push Pipeline for Versioning/ Pushing a Pipeline to VCS.</p></figcaption></figure>

***Pipeline Migration:***

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2F8Ys8acJD5AZ7H5cjn7xT%2FMigration_push.gif?alt=media&#x26;token=f706cdfc-65c5-4954-90b5-0930d72309c4" alt=""><figcaption><p>Push For Migration/ Using the GIT Export option for a Pipeline</p></figcaption></figure>

{% hint style="info" %}
Please Note:

* *The* *pipeline pushed to the VCS using the Version Control option, can be pulled directly from the **Pull Pipeline from GIT***![](https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FYfm0P0Q254pAz6i7ktXy%2Fimage.png?alt=media\&token=9a4ee1ce-da05-4a74-b50a-a560b606eb7d)*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 <a href="#pulling-a-pipeline-from-git" id="pulling-a-pipeline-from-git"></a>

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 %}

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FPlx5xl7JJ41IjeYpUvbF%2FPull_from_vcs.gif?alt=media&#x26;token=fa3c63bb-9c4f-4acb-a66e-299fd1e0a4f0" alt=""><figcaption><p>Pulling a pipeline version committed earlier</p></figcaption></figure>

* 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.

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FN8nPNp5Sp2xXpJLVb9Pz%2Fimage.png?alt=media&#x26;token=58f185da-3207-4ebb-bb8a-eac0c408af1c" alt=""><figcaption><p>Pulling a Pipeline version from the GIT</p></figcaption></figure>

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

![](https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FrhzBKNZ9dhtVA1Nnz5Ym%2Fimage.png?alt=media\&token=9efd37a1-af16-493d-a5de-4093bc7b7287)​

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

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FLle0e6BcobDV8WVDdYhQ%2Fimage.png?alt=media&#x26;token=bed9a058-f6bf-4dac-a0c8-3ca57fa53532" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://859511478-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGDmsjfjJBNqow7Fo97cO%2Fuploads%2FGRTqMHAtADRdAw3wJzHV%2Fimage.png?alt=media&#x26;token=3d6ceabe-672f-4ca1-a9e4-3af1b97bcfac" alt=""><figcaption></figcaption></figure>

{% 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* [***GIT Migration*** ](https://docs.bdb.ai/administrative-settings-1/admin-panel-options/git-migration/migrating-a-pipeline)*(under the Administration section) on how to pull an exported/migrated Pipeline version from the GIT.*
  {% endhint %}
