> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/documentation/git/pull-push.md).

# Pull / Push

Pull and Push are the two main operations for synchronizing your local repository with a remote repository. These operations allow you to collaborate with team members and keep your project backed up on a remote server.

## Pull

**Pull** downloads changes from the remote repository and integrates them into your local repository. This operation combines two actions:

1. **Fetch** - Downloads the latest changes from the remote
2. **Merge** - Integrates those changes into your current branch

### How to Pull

1. Click **Pull** in the Git ribbon
2. If prompted, enter your credentials (username and token)
3. Kalipso will download and merge any changes from the remote repository

{% hint style="info" %}
Pull regularly to stay synchronized with your team and avoid large merge conflicts.
{% endhint %}

### When to Pull

* At the start of your work session to get the latest changes
* Before pushing your changes to ensure you have the latest version
* When a team member notifies you of new changes
* Before creating a new branch to ensure it's based on the latest code

## Push

**Push** uploads your local commits to the remote repository, making them available to other team members.

### How to Push

1. First, commit your changes using the [Commit](/kalipso/documentation/git/commit.md) feature
2. Click **Push** in the Git ribbon
3. If prompted, enter your credentials (username and password/token)
4. Kalipso will upload your commits to the remote repository

{% hint style="warning" %}
You can only push if your local branch is up to date with the remote. If someone else has pushed changes since your last pull, you must pull first and resolve any conflicts before pushing.
{% endhint %}

### When to Push

* After completing a feature or fix that you want to share
* At the end of your work session to backup your changes
* After resolving merge conflicts
