Q: Somehow I committed a bunch of files that should not be tracked and I cannot remove them because they are hidden files I am really struggling with my version control in git. I originally thought that I mistakenly committed only one file idea/workspace.xml and I tried everything to remove that from the local repo with no luck. In the process I think I messed up more stuff and now I am in way over my head.
I am using Pycharm and this is what my version control looks like. 

When I run the command git ls-tree --full-tree -r HEAD the output:
100644 blob bfa6a22a524852a8df1d6462f0323d20449c4e95    .gitignore
100644 blob 5ccbfef9502ae4dad48944c8c9760a71a2f876d3    .idea/cooking.iml
100644 blob 9c5ea8786552de12ec56be5e44d8829ade9192a6    .idea/dataSources.xml
100644 blob 70858dae0aa3ac033f98a3c773fd8c2bda423a85    .idea/misc.xml
100644 blob afa7070aabe0ec99db3f6431d906e32ebabd41ad    .idea/modules.xml
100644 blob 94a25f7f4cb416c083d265558da75d457237d671    .idea/vcs.xml
100644 blob f2cf58ea59636e624d9b56c8890999847e77a001    README.md
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    cooking/__init__.py
100644 blob ec3f508479d15af2a1f17fcaaf9e01b8a8f3ea37    cooking/__init__.pyc
100644 blob 1782235a289d9d697d03fd2061fe46a43fbbbb3d    cooking/__pycache__/__init__.cpython-36.pyc
100644 blob f25abf9e760c0f675b6178d4c424110e1ffb44c8    cooking/__pycache__/settings.cpython-36.pyc
100644 blob 1e6d0fe6682ecf4460ef09e5098eb11a40a6abdb    cooking/__pycache__/urls.cpython-36.pyc
100644 blob fccc06e017116abdab927cb41fdd562911fc85e5    cooking/__pycache__/wsgi.cpython-36.pyc
100644 blob 541fe616bb0248735aca2021b0e2be9b5a6085f6    cooking/settings.py
100644 blob a7073c309e9d50abab9c11954297c91200959a0b    cooking/settings.pyc
100644 blob 442642c38af14cab8523cb3416bc6d615e40e08c    cooking/urls.py
100644 blob 865f65e87649058050fa98b65d5c54c969ef7faf    cooking/urls.pyc
100644 blob 7bbe8d72b235516b0b4f760011315ec80ba04f21    cooking/wsgi.py
100644 blob c75a7f62cbafa9acf0ab6c56c85515f6d53f455f    cooking/wsgi.pyc
100644 blob a8e43957f3c742c656db0f4ac7e4d700175f874b    db.sqlite3
100755 blob ad6edcc91c37b039a20c064b3528c8bcad7673c8    manage.py
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    recipes/__init__.py
100644 blob c5a02c1e59eb6c7708219903390740a3570025a3    recipes/__init__.pyc
100644 blob 446b04b484cf15201e52ae594f87aad9e104a515    recipes/__pycache__/__init__.cpython-36.pyc
100644 blob 2f3ed8de4c79b9662fac0e076b8c996784fd4961    recipes/__pycache__/admin.cpython-36.pyc
100644 blob fbd38abd56f436f012afb116c4e9379aed527ff9    recipes/__pycache__/apps.cpython-36.pyc
100644 blob 749a5abfb77483433802dff4bb43d8cc6ff4f71c    recipes/__pycache__/forms.cpython-36.pyc
100644 blob 84ddeb0cc75a7478f3d5b7d3073400dda421fe03    recipes/__pycache__/models.cpython-36.pyc
100644 blob 92f2a3b26c60ad10ca42386087c416921ef52b28    recipes/__pycache__/urls.cpython-36.pyc
100644 blob be07325cbda06cfda20a0367550629028a31c68e    recipes/__pycache__/views.cpython-36.pyc
100644 blob 8c38f3f3dad51e4585f3984282c2a4bec5349c1e    recipes/admin.py
100644 blob 8d9ed69d16b6d89a4e52f7e720a1e9fd298f1b8c    recipes/admin.pyc
100644 blob 8350f0e04104fbcb3e6a063e4039bb0f39f335a7    recipes/apps.py
100644 blob 1eff98d24bd45e3a8ed9ca5577a869d10b98628b    recipes/apps.pyc
100644 blob d7f6dd772a73edd001e0b7f24ec43fada4e9cc93    recipes/forms.py
100644 blob c21e2defa5f37d3965c07d70da8d0572c9929f3e    recipes/forms.pyc
100644 blob 1b51b92e902d16220e1956e7dfbf7cc2ef553412    recipes/migrations/0001_initial.pyc
100644 blob 6492678d7fa0526fe41dcbd4639c5321b72d1328    recipes/migrations/0002_auto_20170818_0422.pyc
100644 blob e5d366a1fe545557b7fbbfb9a4506773d3bf75e4    recipes/migrations/0003_auto_20170822_0520.pyc
100644 blob ae87fbe7364f044ffa144c525491b8eba4cc090f    recipes/migrations/__init__.pyc
100644 blob 3d7efa8a80160ff83b12aa469aab8e8d41a635d4    recipes/migrations/__pycache__/0001_initial.cpython-36.pyc
100644 blob bfffcdb4388215a559552183ad2ba3eae02a43cf    recipes/migrations/__pycache__/0002_auto_20170818_0422.cpython-36.pyc
100644 blob bcdeee40ce9d184fc5c24dec310b0dc6bba7122f    recipes/migrations/__pycache__/0003_auto_20170822_0520.cpython-36.pyc
100644 blob 7b86f276a8b0180ffd890ca7992b7ce5afc2c425    recipes/migrations/__pycache__/__init__.cpython-36.pyc
100644 blob 7f26bec345fc4d873a6ad37ac2e340710d95a3a4    recipes/models.py
100644 blob 693a5fa24c17bcb7be8586c7fa9340f0e2d8583d    recipes/models.pyc
100644 blob abe50ab8fb03c6dfc076309353ce7cb2091ccc85    recipes/templates/recipes/create_recipe.html
100644 blob 7ce503c2dd97ba78597f6ff6e4393132753573f6    recipes/tests.py
100644 blob 17252654611af1d6d5f9a89bfc561335c49459e4    recipes/urls.py
100644 blob e97061d603524caf383fede134390ed1e6fecdd1    recipes/urls.pyc
100644 blob 51f3288fefd67efa0022078249d7cd389bf696db    recipes/views.py
100644 blob 1fb26c1e74c1eb775caf3b6d5b3d88f893719c5e    recipes/views.pyc
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    usermanage/__init__.py
100644 blob 8a289e08967ac8507848ecfad50ba510521a98f8    usermanage/__init__.pyc
100644 blob dc688780ab83beae98dae9da6b69bb49b0ed4970    usermanage/__pycache__/__init__.cpython-36.pyc
100644 blob 9c45a5cc1ad6f911fe9a99c835a7c1e64160a54b    usermanage/__pycache__/admin.cpython-36.pyc
100644 blob d09fcd4b6081cd5c077f887a3890de9c76cc62c9    usermanage/__pycache__/apps.cpython-36.pyc
100644 blob 3d66d3aae0c06bdc1f027a89642710c3b4c19994    usermanage/__pycache__/forms.cpython-36.pyc
100644 blob 8ed7245edf2292ff4f0dfb8ebb26bfae884ddcb7    usermanage/__pycache__/models.cpython-36.pyc
100644 blob 9c71d49b150c7b4aba5a8169662cb8f9909992b3    usermanage/__pycache__/urls.cpython-36.pyc
100644 blob 4f37a398e275305675e2ced3a61e5251d6a83a03    usermanage/__pycache__/views.cpython-36.pyc
100644 blob 8c38f3f3dad51e4585f3984282c2a4bec5349c1e    usermanage/admin.py
100644 blob 7d9786f7c8065b6cbc2adabf80211f40a266d23b    usermanage/admin.pyc
100644 blob df5ee8e22ac4dd2101fd7ecb4dabb2a131b440ce    usermanage/apps.py
100644 blob 59dcebcb138719be90248ae414a8b89147321824    usermanage/apps.pyc
100644 blob 4638c69c1f80a2360981d20a6c266e64dbb57b45    usermanage/forms.py
100644 blob 85d258ac22983af2058958c11ffaf451b2f29e50    usermanage/forms.pyc
100644 blob 5c36d4345580344e621c66e0cd3d12160e23cddd    usermanage/migrations/0001_initial.pyc
100644 blob ebd638864df380362110559533bc376ac17d2304    usermanage/migrations/0002_auto_20170822_0434.pyc
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    usermanage/migrations/__init__.py
100644 blob 415defc8de1653047c7d3c4f890bae2d2c8cf854    usermanage/migrations/__init__.pyc
100644 blob 4083f5aa911aaac25ce85507cdf95bada59ff2a4    usermanage/migrations/__pycache__/0001_initial.cpython-36.pyc
100644 blob 08d77acf363473be01d0123e3da7aa01cb045f01    usermanage/migrations/__pycache__/0002_auto_20170822_0434.cpython-36.pyc
100644 blob 14f303c80597b1ee901f92302f93f93d700b8aae    usermanage/migrations/__pycache__/__init__.cpython-36.pyc
100644 blob 89fc86b2005dd4beade88963ea413c94b39fa9dd    usermanage/models.py
100644 blob 5f23f271d7a51c6828152dfaf3394f398ffc2426    usermanage/models.pyc
100644 blob 9aa0c8c6f33388d217ad84578bd3c51596a04dce    usermanage/templates/registration/base.html
100644 blob 6fdd8a37f07506c01755e8ed61563b9371cf6728    usermanage/templates/registration/login.html
100644 blob 088b63a53e0bbb09c242b31b0066faec6e58ba17    usermanage/templates/registration/logout.html
100644 blob cf42c705681e62537e84dd715455d39a67e53a17    usermanage/templates/registration/not_found.html
100644 blob 68e137309908919f4a4445f9dc7f43b7d7f1cfb6    usermanage/templates/registration/signup_customer.html
100644 blob be3d893464ef872c5405d861a7e78c28374e38a6    usermanage/templates/registration/signup_restaurant.html
100644 blob d5d41d904bbc9cda956cf739e3858d1478b31a88    usermanage/templates/usermanage/dashboard.html
100644 blob 22f06d087aa634f482ae365c9dbf037cf9f8a154    usermanage/templates/usermanage/dashboard_restaurant.html
100644 blob d210c57619eff354101fc5c706fc14c96b76c32d    usermanage/templates/usermanage/index.html
100644 blob 951cdc5f8a8fcc55130ab3fee70ed2fd207b10ec    usermanage/templates/usermanage/logout.html
100644 blob 7ce503c2dd97ba78597f6ff6e4393132753573f6    usermanage/tests.py
100644 blob b57cccbd40600fb9b2570abc7675a29ed258047c    usermanage/urls.py
100644 blob 628e049171570cb053a366d8bc003406857d7d72    usermanage/urls.pyc
100644 blob 6f4d88dbde8e3bd6c15a2b8b414091745fdce453    usermanage/views.py
100644 blob babcdc98d6c9c242a36fb814d11eb1216f845a67    usermanage/views.pyc

I think the problem is in the first few lines where I should not be tracking the .idea/ files. When I try to remove any of them I get the error fatal: pathspec 'idea/dataSource.ids' did not match any files. I have tried from every directory with various commands and looked into removing hidden files etc. 
I want to checkout my cleanup branch or even the can now see list of restaurants and their menus commit and merge that to my master branch, then delete all other branches. When I try to checkout cleanup I get the error:
error: The following untracked working tree files would be overwritten by checkout:
        .idea/dataSources.ids
        .idea/dataSources.local.xml
        .idea/encodings.xml
Please move or remove them before you can switch branches.
Aborting

I am hoping someone would be able to walk me through how to do this, at which point I will be starting a new project and learning git inside out so this does not happen again. Much appreciated. 
