Du solltest nur die Änderungen „stagen“, die du committen möchtest. Dazu verwendet man git add
oder git add --patch
/git add -i
(nützlich zum selektiven „Aufdröseln“ mehrerer Änderungen in einer Datei). In VSCode gibt es da sicherlich auch entsprechende Optionen in der GUI, die ich aber spontan nicht weiß.
Alles was „gestaged“ wurde landet dann bei git commit
im Commit. Der Rest bleibt als „unstaged change“ auf der Platte (außerhalb von Git).
In die .gitignore sollten nur Dateien aufgenommen werden, die dauerhaft nie in Git getracked werden sollen.
Mehr Infos siehe: Git - Änderungen nachverfolgen und im Repository speichern.
Benutzerdefinierte Parameter wie das Passwort für RFID sollten eigentlich aus der CPP-Datei raus in eine ungetrackte Config-Datei (die würde dann in der .gitignore stehen). Das wäre ein Fall der durch meinen Ansatz mit KConfig gut abgedeckt werden würde. Aber das ist ein anderes Thema…