GitHub currently isn't the main product we use for hosting our repositories. We primarily use BitBucket currently and have plans to move to Azure DevOps whose repository hosting/management is re-skinned GitHub. My use of GitHub has primarily been working with open source libraries.
Pros
I prefer the way GitHub presents/manages code reviews.
Making changes and opening pull requests are incredibly easy in GitHub. When you have a small change you need to make it's incredibly annoying to have to pull then branch then commit then push then go back to the browser to open a PR.
Built-in wiki, issue tracking and reporting, and other tools can be incredibly useful.
Cons
Browsing through a repo is pretty primitive. Digging into a folder is a link to a new page. For medium to large repositories, it's extremely cumbersome. The way Azure DevOps manages this is incredible. It gives you a folder explorer as you'd find in VS Code. You can quickly browse through a complex repo and make in line changes and submit a pull request all from inside the browser.
Navigating around a GitHub repo can be a little confusing until you're used to it.
Likelihood to Recommend
For small team projects or open-source libraries GitHub is a great and affordable option. I'd be more hesitant to use it with large complex projects, not because it wouldn't work, but because I've used tools that are better suited. I'm sure Microsoft won't be mad at me for continuing to put in plugs for Azure DevOps seeing as they own both.
After cloud migration, GitHub becomes obvious for use, especially its automation. The whole organization is using the GitHub as a hub. It works like a Repository where Developers, DBA, and QA keep their artifacts; and make them visible or accessible to the team. It works as a shareable location for the team. It works as the shareable location for all automate jobs. GitHub is a great Hub.
Pros
GitHub is a place where we can keep the artifacts such as source code, lookup data, and other callable information. GitHub can be integrated with deployment tools such as Jenkins, TeamCity and any cloud DevOps tools. These tools can call/read the code or data from GitHub which works as a hub or repository.
GitHub works as version control. Meaning, when you upload the code script with multiple changes, the GitHub stores old copies as versions. If you want to restore back to the point-in-time code script, GitHub provides you to restore it. So GitHub gives security over your code.
GitHub provides public and private access. Public is free. Private charges. For proof of concept projects, development or testing, we can use PUBLIC access which is cheap or free.
Cons
GitHub is great tool. when you want to push a code change or small update, you would need to required to pull the entire GitHub repository unto your PC. This need to mitigate.
Likelihood to Recommend
GitHub is the best at keeping the artifacts which are called through automated scripts.
As a developer, I use GitHub to share code and make it available to other developers within the company. We only use it in the technology department and mainly for sharing code between teams and other developers. It is also a good place for storing code for later use.
Pros
GitHub makes it easy to review code.
Very lightweight platform makes it easy to make changes and download code in no time.
Code highlights and syntax look amazing.
Making your code available any time anywhere is so awesome.
Cons
I like that it is free, but the paid version is a bit pricey.
I wish the desktop client offered more options, as the commands are not so easy to learn.
There is really not that much to complain about, but It has a large learning curve and providing learning documentation could be a big help.
Likelihood to Recommend
GitHub is the best platform for sharing your code. You can make it private or public, and you can trust that your code will always be available when needed. It is great if you want to learn how to contribute to a public project. Best fit for a team of developers who like to review and make changes easily while developing.
GitHub was used a previous place of employment of mine. It was used by several developers who wanted easy and fast access to the repository. It made it really easy to control our code base.
Pros
GitHub allows personal developers unlimited public repositories for free. This is a huge plus as it makes it great for your average developer.
The searching in GitHub is very well done.
It's basically the main hub for all open source software because it's so easily accessible to everyone.
Cons
Last I checked there was a file size restriction. There are probably good reasons behind this though.
Likelihood to Recommend
Overall it is a great version control software. I love that you can use all the power of Git with GitHub along with additional features that GitHub provides.
VU
Verified User
Engineer in Engineering (Insurance company, 1001-5000 employees)
GitHub is currently being used by our Software Development Group as source control repository. This solved a problem with remote employees or when working offline to allow software developers to continue to work and when connected to merge their source code and get latest. This tool makes it easier for code reviews and manage source code that will make it to the next step in the release process.
Pros
Working offline
Merging source code
Having multiple branches at once
Cons
No testing service for source code
There is a bit of a learning curve when switching to GitHub
GUI interface is lacking or hard to understand, better to use commands
Likelihood to Recommend
It is great for first time coders and students as it is free. This is also great for professional coding environments as long as you are willing to pay the costs for it. If you are a smaller group it is probably not economical to use this unless you can somehow get by on the free version.
VU
Verified User
Engineer in Information Technology (Financial Services company, 1001-5000 employees)