In ideal case you are creating Sitecore items and cshtml / js / css or any other files on your local machine.
You are then distributing those artifacts during deployment to CM or CD servers.
Sitecore items deployment:
You don't need to distribute package with Sitecore items to CD servers as they will be transferred there during publishing process.
You can use automated or manual deployment here.
Manual deployment consists of creating Sitecore package of your local Sitecore items and deploying them to CM server. Take a look here how to do it or also in this great article.
Use Package designer (Can be found in Sitecore Desktop under Development Tools) tool to create package on your local development environment:
Use Installation Wizard (Can be found in Sitecore Desktop under Development Tools) to install package on your CM server.
For automated deployment you should use Unicorn or TDS to serialize items that you create locally like layout from your question and then deserialize them during deployment using Sitecore Ship, Octopus Deploy or other choices.
As you are newbie I would suggest starting with manual deployment for now.
Other artifacts like cshtml, js, css, ... files deployment:
You can embed these files with similar approach to manual deployment of Sitecore items but instead of "Items statically" button, you will click on "Files statically" button in Package Designer.
Another approach would be using built in WebDeploy functionality in Visual Studio.
Best would be to have pipeline in VSTS, Jenkins or other build tools which will generate your package during build on server and then you can deploy it or pipeline will do it for you.