Package settings files like php.ini
, nginx.conf
etc needs a record. Normally, all keeps multiple backups of these files. However, it is possible to use Git including services like GitHub, your Mac or GNU/Linux or Windows PC, application like SourceTree to keep a track of the package settings files like php.ini
, nginx.conf
etc. Here is How to Manage the Configuration Files on Cloud Server With Git.
Manage Configuration Files on Cloud Server : Master Git
Not properly mastering git can make the situation pathetic. There are lot of free resources on this web on using git. Make sure that you really can handle the needed setup. If GitHub repo (read as remote git server
) is public, you should be more careful to use proper name of the repositories for the production servers. The cloud server that already has modified configuration files is the seed machine
. This is the source where the configuration files will originate and go to the remote git server. You will clone to your local computer. In this way, you can pull from another server too.
Manage Configuration Files on Cloud Server : Master Git
First on the cloud server/VPS we need to SSH and do these steps :
---
1 2 3 4 5 | sudo apt-get update sudo apt-get install git # substitute your own name and email address in the following commands: git config --global user.name "your name" git config --global user.email "email@domain.com" |
Now, you need to create an empty repository on the remote git server. Now cd to home (~
) and initialize git. Add
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | cd ~ git init # examples mkdir configs mkdir configs/nginx mkdir configs/php-fpm echo "*" > .gitignore cp /etc/nginx/sites-available/default configs/nginx/default-backup # symlink to automatically take the changes ln -s /etc/nginx/sites-available/default configs/nginx/default-backup git add -A git status git commit -m "First commit" git remote add origin <remote git server URL> ## github without password using ssh-key # git remote set-url origin git@github.com:<Username>/<Project>.git ## gitlab # git remote add origin https://gitlab_domain/your_gitlab/repo_name.git git push origin master |
For the git add
:
git add -A : Does both of the below (same as git add –all)
git add . : Stages new + modified files
git add -u : Stages modified + deleted files