Confused Noob with conceptual development questions

Hello, I’m new to Docker and I see how valuable it is but have some conceptual questions.

One question - I am at Part 2 in the Docker Get Started Tutorial (https://docs.docker.com/get-started/part2/#pull-and-run-the-image-from-the-remote-repository) and have just pulled the image and run it on another computer. If I want to use this new container for development rather than production do i need to use something like git for the actual code for my app?

Another question somewhat related - I know the image uses COPY to copy the app files so the container can run the app but what if I have a container or a swarm running in production, then change my app files in my development container? Do I need to stop the production containers and rebuild them to update the code?

Thanks