Introduction: Using Git for Version Control with Drupal 8
This Tutorial will show how to transfer a Drupal 8 development website from a localhost environment running WampServer to a remote hosting platform using Git.
Git is used for version control in Agile development teams building new modules & themes for the Drupal 8 CMS. Git is free open source software for Linux & Windows.
Drupal 8 files can be pushed from the desktop programming environment to a sandbox, production server, or code repository depending on the requirements of the project.
Step One: Configure the Local Development Environment
To configure the local development environment to run Drupal 8, administrators need to have a localhost web server installed capable of running MySQL, PHP, & Apache.
The most popular localhost web server application for Drupal 8 is WampServer. Use of the Docker Desktop platform has become more common with container virtualization.
Other options for running a local development environment for Drupal 8 are Acquia Dev Desktop, Apache NetBeans (formerly Java), & VirtualBox with full web server stack.
Configure the local development environment with one of these options and install Drupal 8 locally. Then navigate to the Git website and download the latest Git package.
Download – Required Files:
- Git (Download Files)
Install the latest Git package on the desktop or laptop that is being used as a localhost web server for the Drupal 8 sandbox or development environment (Windows v.7-10).

After installation of the Git package, navigate to the Windows“Start” menu and type “git” into the Search bar. Double Click on the icon for “Git Bash” or make a shortcut.

In order to use Git to transfer files, confirm that the C:Program Filesgitbin folder has been created successfully with the installation. This folder is used as the Git cache.

Next: The Drupal 8 installation in the localhost environment needs to be connected to the remote web server or GitRepository using Git Bash commands for file transfer.
Step Two: Add Localhost Drupal 8 Path to Git Bash
Open the Git Bash command line utility & type the path to your localhost Drupal 8 installation. For those using WampServer according to the HostAdvice tutorial:
- Localhost Drupal 8 Installation Path: C:wampwwwsite1
Confirm the path & enter the following command into Git Bash:
cd c:/wamp/www/site1
Next, use the CLI utility to check the status of the localhost Drupal 8 folder:
git status
The expected result to be returned is:
fatal: Not a git repository (oranyofthe parent directories): .git.
Enter the following command to initialize the folder as a Git Repository:
git init
The expected result to be returned is:
Initialized empty Git repository inc:/wamp/www/site1/.git/.
Now type:
git status
The result should be a list of all of the files excluded by .gitignore file settings:

Under the default Drupal 8 settings, none of the files are tracked by version control. In order to turn this on, use Git configuration & manual editing of the .gitignore files.
Step Three: Use Putty for SSH Connection to Web Server
To connect the localhost Drupal 8 installation with the remote web server, it is recommended to use PuTTY as the command line interface for Windows or similar.
Download – Required Files:
- PuTTY: (Download Files)
Install PuTTY for Windows on the desktop/laptop workstation environment. Collect the IP Address of the web server from the web host or configure it manually on the server.

Insert the IP Address & Port Number for your remote web server where the Drupal 8 files on the localhost will be transferred to. Open the SSH tab & confirm the defaults.

Note: In order to make a SSH Connection, create a Public Key in cPanel or with other software on your web server, then export the keys to PuTTY on the local workstation.
Step Four: Configure the Remote Web Server for Git
Connect to a cPanel web hosting account or other web server with a SSH Connection & test the environment by running the following commands:
ls
This should return a list of files & folders in the root directory. Test the Git version:
git --version
Next, navigate to File Manager in cPanel & create a Git Repository in the root directory by creating a new folder or directory with the name:
- mysite.git
Switch to the folder /mysite.git in PuTTY & run the command:
git init --bare
This creates a Git Repository on the remote server. Check for the folder /mysite.git/hooks and create a new file named “post-receive” in the folder.
Edit the “post-receive” file & add the following code:
#!/bin/sh GIT_WORK_TREE=/home/username/mysite.com git checkout -f
Change permissions on the file to 755. Save & exit to the desktop workstation.
Step Five: Add Remote Repository & Transfer Files
To finish, add the remote directory as a Git Repository with the following code:
git remote add mysite ssh://user@www.example.com:18765/home/user/mysite.git
Use the values created above on the remote web server & add them to the Git settings for the Drupal 8 files stored on the workstation. Then run the code:
gitpush mysite master
This will transfer all of the website files from the localhost development environment to the remote web server. Git can be further configured to track branches & versions.
In order to save time, it is recommended to use a remote staging environment & port Drupal 8 files via zip archives. Use the Backup & Migrate module to port the database.
Conclusion: Enable Advanced Version Control for Drupal 8
Git is a vital aspect of Version Control in Agile software development teams programming for the Drupal 8 ecosystem. It is the main basis of DevOps in practice.
Drupal 8 developers need to know CLI techniques, as well as Drush & Composer, to be most effective with managing websites & servers using Git for Version Control.
Check out these top 3 Drupal hosting services:
- To end your queries about Top web hosting, simply click on this link.


