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.
Not all components need to be one or the other, within a single Iguana instance you are able to configure components as desired.