When deploying from GIT repository to Salesforce org, there are different options to retrieve the metadata in GIT. Those options are available under "Deploy Options > Git source". This article explains each option in more details.
Deploy selected components from the git branch
When this option is selected, the deployment becomes very similar to Salesforce to Salesforce deployment. The "Add Components" tab will be available for you to select the components from GIT source to deploy to the target Salesforce org.
Deploy everything from the git branch
You can also use this option to deploy everything from the selected Git branch.
Deploy differences between git branches
This option allows you to deploy the differences between 2 branches in the GIT repository. Please visit this blog for more details: https://medium.com/@clickdeploy_team/deploy-differences-between-git-branches-36460753e9bd
Deploy files committed since the last successful build (Incremental build)
Incremental build contains only files committed since the last successful build which is indicated by a build marker.
When you create a new CI with this option, by default, the last successful build marker points to the head of the branch. If you click on Review Pending Changes, the queue should contain zero components at this point. As you start committing new changes to the GIT branch, the head of the branch will move. Now the pending queue will contain all changes from the build marker point to the new branch head.
Every time a deployment is successful, the build marker is automatically moved to the head of the branch. This means the pending change queue is reset after every successful deployment.
No manual intervention is required in general. However, if you ever need to change the build
marker to a specific point, simply edit Deploy Options and point to the new commit id.
Note that for an incremental validate CI job, a successful validation does not move the build
marker automatically. The build marker for a validate CI job is only moved when the equivalent
deploy action is executed successfully