...
As a self contained git repository storing the entire project and enabling you to push/pull commits to the component repository. This is the recommended approach for full functionality.
As a plain folder storing the component project as part of the Git Instance repository.
Within an Iguana instance, all components do not need to be configured the same way, you are able to configure components can be configured as repositories or plain folders individually as desired.
In addition, at any point you can convert a component from one configuration to anotherThis configuration can be customized to each component and can be changed at any point.