The paradigm is very different from the 90’s PHP applications, where it was normal to edit files in production servers using FTP.
Changes to Discourse behavior are supposed to be separate projects, living in a git repository of their own, and to make use of the existing plugin and theme APIs.
So let’s say you want to add an extra field to the topic composer where a user will add their preferred color. You will create a new Discourse plugin following Beginner's Guide to Creating Discourse Plugins - Part 1, then put that on GitHub in a repository named discourse-favorite-color
and install that to your instance using Install Plugins in Discourse