# Version control

Version control systems are tools to track changes, maintain a history of modifications, and enable project collaboration. They help manage project files, ensure consistency across versions, and streamline teamwork by organizing contributions from multiple users.

Timebook supports integration with version control systems by connecting with Git, one of the most popular and widely used options. Once you integrate Timebook with Git using one of the methods below, you will notice that:

* We will automatically turn on Bitbucket or GitHub webhooks for Git commits and pull requests. You can turn them off with the dedicated toggle.
* Cards of several Timebook objects will show the dedicated \[**Git**] field where you can find all the Git information relevant to a given object.

{% hint style="info" %}
You can integrate with Git using different services.

When you open the \[**Git**] tab in the \[**Integrations**] section, you must first select the provider you want to integrate with.
{% endhint %}

<details>

<summary>Integrating Timebook with Bitbucket</summary>

1. Click the dropdown next to your Workplace's name in the top-left corner.
2. From the resulting menu, select \[**Workplace settings**] and open the \[**Integrations**] tab from the menu on the left.
3. In the \[**Version control**] tab, select the \[**Bitbucket**] option and click \[**Integrate**].
4. Use the toggle at the top to \[**Enable Bitbucket branch creation**]. You must now provide the following:
   * Your \[**User name**] in Bitbucket.
   * The \[**App password**] you generated in Bitbucket. For more information on app password creation, see [this Bitbucket help page](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/).
   * Your Bitbucket \[**Namespace**]. For more information on namespaces, see [this GitLab help page](https://docs.gitlab.com/ee/user/namespace/).
5. Once we verify these credentials, you can start adding Bitbucket repositories. To do so, select a repository from the dropdown list and provide your access token. For more information on repository access tokens, see [this Bitbucket help page](https://support.atlassian.com/bitbucket-cloud/docs/repository-access-tokens/).

</details>

<details>

<summary>Integrating Timebook with GitHub</summary>

1. Click the dropdown next to your Workplace's name in the top-left corner.
2. From the resulting menu, select \[**Workplace settings**] and open the \[**Integrations**] section from the menu on the left.
3. In the \[**Version control**] tab, select the \[**GitHub**] option and click \[**Integrate**].
4. Use the toggle at the top to \[**Enable GitHub branch creation**]. You must now provide your GitHub organization and access token. For more information on access tokens, see [this GitHub help page](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). Remember to select appropriate scopes for your token. Scopes define the accessibility of GitHub repositories in Timebook.
5. Once we verify your access token, you will see additional options:
   * The \[**Enable GitHub integration**] toggle to turn the integration on and off.
   * The \[**Trash**] icon to remove this integration from your Timebook Workplace.
   * The \[**GitHub repository list**] to connect additional repositories.

</details>

<details>

<summary>Integrating Timebook with GitLab</summary>

1. Click the dropdown next to your Workplace's name in the top-left corner.
2. From the resulting menu, select \[**Workplace settings**] and open the \[**Integrations**] section from the menu on the left.
3. In the \[**Version control**] tab, select the \[**GitLab**] option and click \[**Integrate**].
4. Use the toggle at the top to \[**Enable GitLab branch creation**]. You must now provide the following:
   * Your \[**GitLab group**]. For more information on groups, see [this GitLab help page](https://docs.gitlab.com/ee/user/group/).
   * The GitLab \[**Access token**]. For more information on tokens, see [this GitLab help page.](https://docs.gitlab.com/ee/security/token_overview.html)
   * Optionally, you can provide the URL address of your server.
5. Once we verify these credentials, you can start adding GitLab repositories.

</details>

{% hint style="info" %}
Some object types in Timebook include the \[**Git**] property that links them to corresponding items in Bitbucket, GitHub, or GitLab. You can configure these objects to update their statuses automatically based on specific events in Git, like opening or merging a pull request.

For more information, see [Team settings](/hc/product-guide/team-settings.md), and check which features include the dedicated \[**Automation**] tab that allows you to set up this automated configuration.
{% endhint %}

## Related articles

[Workplace settings](/hc/product-guide/workplace-settings.md)

[Team settings](/hc/product-guide/team-settings.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.timebook.ai/hc/integrations/version-control.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
