<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
The "source" folder of my collection contains several files that are not directly related to the collection itself. E.g. a `.gitignore`, a `.github` folder, a `Makefile` etc.
When using `ansible-galaxy collection build <folder>`, these files are included in the generated tarball. This is especially hurtful when the source folder also contains a Python venv that I use for developing.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ansible-galaxy

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.0.dev0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/egolov/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /home/egolov/Devel/ansible/ansible/lib/ansible
  executable location = /home/egolov/Devel/ansible/ansible/bin/ansible
  python version = 2.7.15 (default, Oct 15 2018, 15:26:09) [GCC 8.2.1 20180801 (Red Hat 8.2.1-2)]

```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
empty
```

##### OS / ENVIRONMENT
Fedora


##### STEPS TO REPRODUCE
Build a collection :)

##### EXPECTED RESULTS
I'd expect only collection-relevant files/folders (those that are listed in the spec/docs) to be included.


##### ADDITIONAL INFORMATION
Alternatively, a ignore file as suggested by @bcoca  in https://github.com/ansible/ansible/pull/59121/files#r304554334 could be a fix for this.

---
            roles:
            # Same as v1 format just under the roles key
            collections:
            - namespace.collection
            - name: namespace.collection
              version: version identifier, multiple identifiers are separated by ','
              source: the URL or a predefined source name that relates to C.GALAXY_SERVER_LIST
        :param requirements_file: The path to the requirements file.
        :param allow_old_format: Will fail if a v1 requirements file is found and this is set to False.
        :return: a dict containing roles and collections to found in the requirements file.
        """
        requirements = {
            'roles': [],
            'collections': [],
        }
        b_requirements_file = to_bytes(requirements_file, errors='surrogate_or_strict')
        if not os.path.exists(b_requirements_file):
            raise AnsibleError("The requirements file '%s' does not exist." % to_native(requirements_file))
        display.vvv("Reading requirement file at '%s'" % requirements_file)
        with open(b_requirements_file, 'rb') as req_obj:
            try:
                file_requirements = yaml.safe_load(req_obj)
            except YAMLError as err:
                raise AnsibleError(
                    "Failed to parse the requirements yml at '%s' with the following error:\n%s"
                    % (to_native(requirements_file), to_native(err)))
        if requirements_file is None:
            raise AnsibleError("No requirements found in file '%s'" % to_native(requirements_file))
        def parse_role_req(requirement):