GitHub is used on different levels in our organisation. From creating and maintaining a pipeline to having version control of internal products that are developed. Maintenance of data products is made easy using this because one can revert back to the old version in case there's a break in the pipeline and so on.
Pros
Version Control
Code Maintenance
Code Storage
Cons
Better Interface
Easier Commands
Larger File Upload Function
Likelihood to Recommend
Let's say you create a pipeline of ETL. You use GitHub and create the pipeline. You have tested everything on your local environment and now you're ready to push the codes. You test the codes and push them to production to be ready. Now down the line after a few iteration there comes a time when you push a change but that broke the pipeline you can simply just revert back to the old version pretty fast so that there's not a significant amount of damage with the pipeline being broken.
GitHub is used by different departments in our organization. GitHub is used as a version control platform and deployment of our source code.
Pros
As a repository it's great. It houses almost all the open-source applications/code that anyone can fork and play with. A huge collection of sample codes available with problem statements across different domains make Github a one-stop location.
I use GitHub with Windows and the Git Bash is superb. It [is] a powerful alternative to the Command Prompt and Powershell. Allows me to run shell scripts and UNIX commands inside the terminal [on] a Windows PC.
GitHub integration with almost all cloud development/deployment platforms is amazing. Deploying a new application in Azure is really smooth. Just link the GitHub repositories and it's good to go. From automatic build to deployment everything is just amazing.
Cons
Not an easy tool for beginners. Prior command-line experience is expected to get started with GitHub efficiently.
Unlike other source control platforms GitHub is a little confusing. With no proper GUI tool its hard to understand the source code version/history.
Working with larger files can be tricky. For file sizes above 100MB, GitHub expects the developer to use different commands (lfs).
While using the web version of GitHub, it has some restrictions on the number of files that can be uploaded at once. Recommended action is to use the command-line utility to add and push files into the repository.
Likelihood to Recommend
Best suited:
When we want to setup an automated deployment pipeline.
When we need a repository while working on open source projects supported by a huge community.
If you want to deploy the programs in cloud platforms. Tested on platforms like AWS, Azure, GCP, Heruko.
Less appropriate:
When the need is just for version control. GitHub is more than that.
VU
Verified User
Team Lead in Engineering (Aviation & Aerospace company, 10,001+ employees)