When I git add/commit and push to my server, everything updates perfectly except for my instance/settings.py file. In VS code it lets me know when something has been modified and needs to be pushed. However, when I save my instance/settings.py file it doesn't show up as needing to be pushed. Then when I try to git commit the file it tells me it is up to date. I have to ssh into my server and edit it manually to change it.

Does anyone have any idea why this happens, is it something to do with the Flask architecture?

EDIT: Here is the result of git blame .gitignore:

^91214a4 (michael 2019-03-30 13:51:08 +1100  1) # Byte-compiled / 
optimized / DLL files
^91214a4 (michael 2019-03-30 13:51:08 +1100  2) __pycache__/
^91214a4 (michael 2019-03-30 13:51:08 +1100  3) *.py[cod]
^91214a4 (michael 2019-03-30 13:51:08 +1100  4) 
^91214a4 (michael 2019-03-30 13:51:08 +1100  5) # C extensions
^91214a4 (michael 2019-03-30 13:51:08 +1100  6) *.so
^91214a4 (michael 2019-03-30 13:51:08 +1100  7) 
^91214a4 (michael 2019-03-30 13:51:08 +1100  8) # Distribution / packaging
^91214a4 (michael 2019-03-30 13:51:08 +1100  9) node_modules/
^91214a4 (michael 2019-03-30 13:51:08 +1100 10) bin/
^91214a4 (michael 2019-03-30 13:51:08 +1100 11) build/manifest.json
^91214a4 (michael 2019-03-30 13:51:08 +1100 12) develop-eggs/
^91214a4 (michael 2019-03-30 13:51:08 +1100 13) dist/
^91214a4 (michael 2019-03-30 13:51:08 +1100 14) eggs/
^91214a4 (michael 2019-03-30 13:51:08 +1100 15) parts/
^91214a4 (michael 2019-03-30 13:51:08 +1100 16) sdist/
^91214a4 (michael 2019-03-30 13:51:08 +1100 17) var/
^91214a4 (michael 2019-03-30 13:51:08 +1100 18) npm-debug.log
^91214a4 (michael 2019-03-30 13:51:08 +1100 19) *.egg-info/
^91214a4 (michael 2019-03-30 13:51:08 +1100 20) .installed.cfg
^91214a4 (michael 2019-03-30 13:51:08 +1100 21) *.egg
^91214a4 (michael 2019-03-30 13:51:08 +1100 22) 

1 Answers

2
VonC On Best Solutions

Try switching to command-line and check

git check-ignore -v -- instance/settings.py

If the output is not empty, you will see why this file is ignored.

If the output is empty, the file is not ignored, and git status can tell you more about its state.

The OP polymath confirms in the comments:

the command returns .gitignore:52:instance/settings.py instance/settings.py.

The local .gitignore file of the cloned repo does ignore that file.