Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

bramcou's avatar

From Shared hosting and Filezilla/Putty to Git.. I'm lost

Dear readers,

I'm not that old but learned programming and web development in what seems to be an previous era (-:

Learned PHP in the times of PHP4, eventually got into CodeIgniter and when I picked up web development again two years ago I transitioned to Laravel which was the best thing ever (obviously).

Currently managing a Laravel project for a local society. The project utilizes some queue's, is hooked up to G Suite to manage email groups, uses Sentry for bug tracking. The website is hosted @ A2Hosting, shared hosting but with all the PHP/SSH goodies that I required so far. For about 10 euro a month.

All the time the project's been deployed really old school using Filezilla and Putty. Now that another developer is joining in I want to switch to use Git to manage the versioning. However, I'm getting totally lost and confused in the thousands of available tutorials. Is there anyone recognizing this situation who's been through that phase and can explain which is the best course to go or the best tutorial(s) to read?

Basically what I want is very simple: be able to work independently of each other with a co-developer on the website, preferably beeing able to work on multiple new features in parallel which could be deployed to the server separately once a feature is good 2 go. Would be nice to have a graphical overview of which features are being developed (I understand that to be branches)

I understand either Github or Gitlab would be neccesary for this, however, when reading the Gitlab & Laravel tutorial @ Gitlab I get totally sucked up into something I can't grasp and which seems to be over my head (https://docs.gitlab.com/ee/ci/examples/laravel_with_gitlab_and_envoy/index.html#initialize-our-laravel-app-on-gitlab)

I've ended up reading and tutorialing from DigitalOcean and AWS to Forge, to then understanding that Forge comes on top of either DO/AWS or another host. And a ton of other different hosting companies. I am however quit happy with A2Hosting and wouldn't mind staying there if we can simple get the co-working part using Git working there.

Help through this 'jungle' would be sincerely appreciated.

Thanks!

0 likes
4 replies
bramcou's avatar

Oh lol. How underestimating to thank there wouldn't be a whole laracasts category on this. Thanks.. I'll probably figure it out from there.

Perhaps just one question on the front: can you work with just Git, your local homestead dev area, your remote (production) server and GitLab or GitHub and no other services/party's involved?

realrandyallen's avatar

Yup! There are plenty of extras you could use but they are not necessary

Zenith2012's avatar

What I do (just starting out myself laravel and git) is this..

Master branch - this is the only branch that gets pulled to the production/live server

Staging branch - this will be a 2nd server I'm going to set up which has dummy data or possibly snapshots of live data in and will be used to test features before pushing to live.

Develop branch - this will be the main dev version that I run locally on my dev machine at home and laptop.

Feature branches e.g. feature-NewShintButton where I work on a specific feature and tests.

The idea being that once a feature is working I can merge it into the develop branch or I can just that branch completely.

When I'm ready I'll then merge the develop branch into my staging branch which will be automatically deployed to my staging server by laravel forge.

Then if everything is passing tests and working I'll merge into master branch and then pull this down to the production server. This could also be automatically done but I'll do it manually after taking a backup first.

This may not be the best way or working but I'm new to git and github and this seems like it will work for me. On the most part I'll be the only developer for 99% of projects but I like the flexibility it will give me.

This site has some good info about git too and is basically where I robbed the above way of working:

https://nvie.com/posts/a-successful-git-branching-model/

Hope that helps

Thanks

Please or to participate in this conversation.