Jump to content

Using Git to improve workflow

I'm looking into ways to improve workflow for multiple developers on a webserver. Git is currently the most promising method at the moment to help track changes to files etc. but I have a few questions.

Firstly I am currently running an Ubuntu VPS with Apache 2 installed and I'm not sure what would be better; either renting a second cheap VPS and setting up a private git server on that or just storing all our files on GitHub. I get that using GitHub would be cheaper but I'd prefer to not have all of my work out on the public domain.

Secondly if I went down the road of using git how would I be able to only allow users access to edit certain files at a time rather than have access to edit every file in my repository

i7-6700k @ 4ghz

GTX1070

16GB Ram

Asus Maximus VIII Hero

500GB SSD

1TB HDD

Link to comment
Share on other sites

Link to post
Share on other sites

You can run your own SVN server if you want your project to be private (if you choose free hosting of Github, source code will be public)

Imho functionality you mentioned is available on paid plans.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Griunvaldas said:

You can run your own SVN server if you want your project to be private (if you choose free hosting of Github, source code will be public)

Imho functionality you mentioned is available on paid plans.

I would want to go for a paid plan but I just don't have the funds to afford them. I have a team of about 5 devs which, even with just the smallest package, means that I'll be paying $45 per month, which I just cannot at all afford

i7-6700k @ 4ghz

GTX1070

16GB Ram

Asus Maximus VIII Hero

500GB SSD

1TB HDD

Link to comment
Share on other sites

Link to post
Share on other sites

In that case check VisualSVN or other alternative ;)

If you have PC you don't use, throw an Ubuntu in it and run your own private server :) There are lots of tutorials and videos how to do it.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Griunvaldas said:

In that case check VisualSVN or other alternative ;)

If you have PC you don't use, throw an Ubuntu in it and run your own private server :) There are lots of tutorials and videos how to do it.

Don't suppose I could do it on a raspberry pi?

i7-6700k @ 4ghz

GTX1070

16GB Ram

Asus Maximus VIII Hero

500GB SSD

1TB HDD

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, HCStrike said:

Don't suppose I could do it on a raspberry pi?

Never actually thinked about that :o

Model B+ should be able to run it w/o any problems ;) Just get fairly big memory card if you are planning to place weighty bits of code or files, reposity may grow pretty high over time ;)

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Griunvaldas said:

Never actually thinked about that :o

Model B+ should be able to run it w/o any problems ;)

I've got the Pi 2 so maybe not...

i7-6700k @ 4ghz

GTX1070

16GB Ram

Asus Maximus VIII Hero

500GB SSD

1TB HDD

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, HCStrike said:

I've got the Pi 2 so maybe not...

Try anyway, it should run :)

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Griunvaldas said:

Try anyway, it should run :)

Just for future reference, if I either rent a server or use my Pi, would I be able to do everything I want to on the server. So track changes, assign different users their own accounts with separate permissions, push to a different server running my website etc.

i7-6700k @ 4ghz

GTX1070

16GB Ram

Asus Maximus VIII Hero

500GB SSD

1TB HDD

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, HCStrike said:

Just for future reference, if I either rent a server or use my Pi, would I be able to do everything I want to on the server. So track changes, assign different users their own accounts with separate permissions, push to a different server running my website etc.

Yep, VisualSVN does that and more ;) Check their website https://www.visualsvn.com/server/download/

Link to comment
Share on other sites

Link to post
Share on other sites

GitHub has private repositories option (paid, unless you have student plan or similar).

GitLab has private groups/repositories option (free, paid brings extra functionality). You can also run GitLab on your own infrastructure for free.

BitBucket has private groups/repositories option (free, paid brings extra functionality).

11 hours ago, HCStrike said:

Firstly I am currently running an Ubuntu VPS with Apache 2 installed and I'm not sure what would be better; either renting a second cheap VPS and setting up a private git server on that or just storing all our files on GitHub. I get that using GitHub would be cheaper but I'd prefer to not have all of my work out on the public domain.

Secondly if I went down the road of using git how would I be able to only allow users access to edit certain files at a time rather than have access to edit every file in my repository

1) Are you willing to keep maintaining the VPS? Is the VPS powerful enough? Do you want to do CI/CD? Compare the costs with one or the other.

2) Git does not have that functionality. You can split files to different repositories, if your project allows. Or just get a team, that you can trust. Git logs every change anyway.

HAL9000: AMD Ryzen 9 3900x | Noctua NH-D15 chromax.black | 32 GB Corsair Vengeance LPX DDR4 3200 MHz | Asus X570 Prime Pro | ASUS TUF 3080 Ti | 1 TB Samsung 970 Evo Plus + 1 TB Crucial MX500 + 6 TB WD RED | Corsair HX1000 | be quiet Pure Base 500DX | LG 34UM95 34" 3440x1440

Hydrogen server: Intel i3-10100 | Cryorig M9i | 64 GB Crucial Ballistix 3200MHz DDR4 | Gigabyte B560M-DS3H | 33 TB of storage | Fractal Design Define R5 | unRAID 6.9.2

Carbon server: Fujitsu PRIMERGY RX100 S7p | Xeon E3-1230 v2 | 16 GB DDR3 ECC | 60 GB Corsair SSD & 250 GB Samsung 850 Pro | Intel i340-T4 | ESXi 6.5.1

Big Mac cluster: 2x Raspberry Pi 2 Model B | 1x Raspberry Pi 3 Model B | 2x Raspberry Pi 3 Model B+

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, jj9987 said:

GitHub has private repositories option (paid, unless you have student plan or similar).

GitLab has private groups/repositories option (free, paid brings extra functionality). You can also run GitLab on your own infrastructure for free.

BitBucket has private groups/repositories option (free, paid brings extra functionality).

1) Are you willing to keep maintaining the VPS? Is the VPS powerful enough? Do you want to do CI/CD? Compare the costs with one or the other.

2) Git does not have that functionality. You can split files to different repositories, if your project allows. Or just get a team, that you can trust. Git logs every change anyway.

1) Sorry my explanation was a bit confusing, I'm willing to maintain it and it is the $10 VPS from DigitalOcean, I'm not 100% sure what CI/CD is but if I was going to go down the road of having my own private git server I'd most likely just rent the $5 from DigitalOcean or the cheapest from a different company.

2) I don't really get why I was asking that, I think I was trying to ask about repositories and having my different developers only being able to access certain repositories at a time, but of course thats possible.

 

Thanks

 

i7-6700k @ 4ghz

GTX1070

16GB Ram

Asus Maximus VIII Hero

500GB SSD

1TB HDD

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, HCStrike said:

1) Sorry my explanation was a bit confusing, I'm willing to maintain it and it is the $10 VPS from DigitalOcean, I'm not 100% sure what CI/CD is but if I was going to go down the road of having my own private git server I'd most likely just rent the $5 from DigitalOcean or the cheapest from a different company.

2) I don't really get why I was asking that, I think I was trying to ask about repositories and having my different developers only being able to access certain repositories at a time, but of course thats possible.

 

Thanks

 

Continuous Integration/Continuous Deployment. Allows you to automate the deployment of whatever you're building to test/prod environments.

HAL9000: AMD Ryzen 9 3900x | Noctua NH-D15 chromax.black | 32 GB Corsair Vengeance LPX DDR4 3200 MHz | Asus X570 Prime Pro | ASUS TUF 3080 Ti | 1 TB Samsung 970 Evo Plus + 1 TB Crucial MX500 + 6 TB WD RED | Corsair HX1000 | be quiet Pure Base 500DX | LG 34UM95 34" 3440x1440

Hydrogen server: Intel i3-10100 | Cryorig M9i | 64 GB Crucial Ballistix 3200MHz DDR4 | Gigabyte B560M-DS3H | 33 TB of storage | Fractal Design Define R5 | unRAID 6.9.2

Carbon server: Fujitsu PRIMERGY RX100 S7p | Xeon E3-1230 v2 | 16 GB DDR3 ECC | 60 GB Corsair SSD & 250 GB Samsung 850 Pro | Intel i340-T4 | ESXi 6.5.1

Big Mac cluster: 2x Raspberry Pi 2 Model B | 1x Raspberry Pi 3 Model B | 2x Raspberry Pi 3 Model B+

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×