When creating a component, you can choose to configure the component to be stored in Git one of two ways:
As a self contained git repository storing the entire project and enabling you to push/pull commits to the component repository.
As a plain folder storing the component project as part of the Git Instance repository.