We have been using it for code hosting for both private and public projects for several years, issue tracking etc not so much (mainly because the tracker is quite basic). As GitHub is using git underlying it can be accessed via any git compatible client out in the wild - so there are tons of ways to choose from suiting every developers needs.
Github provides many hooks for third party tools, so pushes can trigger all sorts of things like CI builds or posts in your company Slack. Automation and integration is dead simple and super flexible.
The company itself is really developer friendly, and you can sense that they are using GitHub themselves. Hosting of open source projects is free and their support and documentation are very helpful.
Availability is high - one of the most important reasons when choosing a code hosting service.
- high availability
- built-in code review, wiki, issue tracker, artifact hosting (private beta)
- great third-party tool integration
- automate everything
- uses git
- developer friendly company
- free for open source projects
- issue tracker could be more sophisticated
- new features could be developed more rapidly (although this has improved recently)
- native apps are not up-to-par with competitors, but luckily there are many free alternatives
- was bought by Microsoft, I personally would have liked to see them stay independent
I use it almost every hour every day and so far I'm glad I've switched from bitbucket to this.
Usage is well documented like cloning repository using ssh, create a branch, create a repository, etc. Reviewing PR interface is great. You've option to mark the files you've reviewed which is really helpful for gigantic pull requests. Easy integration with IDE like Intellij/Eclipse and you can push your changes directly from the IDEs.
Features like squash/merge from UI are really great and saves a lot of time. Jira integration of pull requests is awesome.
Very limited private repositories for free users, it should give an option like this number of lines of code for the private repository as a limit rather than not providing or limited private repositories.
It sometime might get complicated for new users while working on same codebase at the same time like stuck between merge conflicts, rebase issues etc.
The best part of this software, in my opinion, has to be the repository insights that comes with the pro version and above. These insights have proven to be extremely valuable when managing larger-scale projects with multiple developers working on the projects. Not only is our project management team able to get live updates on the progress of the project with each commit, but our team is also able to hold each other accountable by seeing their progress via the progress tracking feature and individual commits. Another notable mention for Github is their desktop GUI. This is such an incredibly easy tool to use and it makes the entire GIT experience much easier to understand and maneuver.
The one issue i had with this software is the repo search functionality. This part of the software can be confusing to learn to be effective with and it takes some time to be proficient with, which can be a hassle for some of our newer members of our project management team.
A great software !
Very useful, necessary, and i have been using it in our organization for many years, even that we are using Gitlab for most of our projects.
Very sofisticated, today it gives us more freedom and we are able to use private repositories.
Github is the reference of version controls, and we are using it every day ( in our organization, and as well with a couple of open source products ).
Sometimes it's confusing, I love the simplicity of Gitlab, but it's not really a full comparison, both softwares have their own pros and cons. But i find that Github is sometimes confusing, and the options and how to do simple things are hidden.
We have switched to GitHub enterprise and we realized how it was become easy to browse repository, share and contribute to projects things that wasn’t possible before.
As a web developer GitHub is built to work perfectly with web projects.it has a lot of features:
It’s easy to setup project and add contributors to it.
PR system is very complete and it’s easy to follow and request changes from contributors, you can also integrate third party tools to enhance the pull request validation mechanism.
GitHub pages make your life easier to deploy your application (mostly the app documentation) by just creating a doc folder in the repo without any extra server setup.
These are the features that l’m using daily but GitHub have much more than that (gists,issues tracker,wiki,..) I can spend days talking about it but if you’re looking for a git repository service GitHub is the best choice.
I didn’t notice any major cons except the learning curve especially if you come from other environment like Svn or TFS.
Overall, learning Git and GitHub made life as a developer convenient. We transitioned from manually merging our code to using GitHub. Although it required some practice, it was well worth the time. We realized that we were missing out and how our older projects would have been a breeze if we learned about GitHub sooner.
Knowing git and GitHub boosted the productivity of my team members and I. We were able to cutback on the times we were doing manual version control work rather than actual software development. It has been very useful to the point that it has been integrated into our project work pipeline. It has been very reliable and our team has never encountered problems in uploading and retrieving the code of others. We are able to document any changes to our code and fix conflicting code which made working in a team much more convenient.
Our team of 3 uses the free version which allows us to collaborate with each other, set up a public or private repository, document our bugs, and manage our workflow which already is a lot for a free service. Paid options allow for collaboration of bigger teams, analytics, and other advanced features.
Aside from that, a GUI version of the application allows you to visually see the changes in the project and simplifies the workflow. Tutorials and documentations on how to use GitHub, for both the GUI and command line versions are available. Most source code editors now even have GitHub integrated and allows you to do the commands without leaving the editor.
As great as GitHub is, it really takes some time in getting used to, especially for beginners. It has a steep learning curve and you are most likely going to have to use a search engine for the tasks you want to do. GitHub also has an application with a GUI which is relatively beginner friendly, but even then, the Git workflow is really something that requires practice. I personally use the Command Line Interface and the difficult part is knowing the commands to use in which I solved by printing out a cheat sheet.
My overall expererience is pleasant and satisfying. I have no issues with Github and always liked it. Since almost a year ago they made it so you could have unlimited free private repo's, it's been amazing.
Github is amazing. I used to utilize Bitbucket a lot but Github was more robust and before the free tier for both was kind of equal. Now Github free offers unlimited private and public repo's where bitbucket only offers like 5. Github also seems to be a lot faster when dealing with branches and commits. Like the connection feels snappier. I can say the same for the website. Now where Bitbucket, the website used to be fast but ever so since the re-design it's a little more on the heavy side. I honestly like Github and I've moved all my code there to be hosted, since it's super secure and super reliable. For as long as I have used it (around 4 years now) I haven't had issues with accessing or uploading my code changes.
Please, link issue tracking with branches so you can see the branches that you made or the commits that you made for specific issues. Bitbucket/JIRA has this and is a god send for project management
Also integrate it with the boards, for instance, a linked issue when closed, it can auto-merge the branch. JIRA/Bitbucket also has this.
The only other solution for an enterprise level git service is BitBucket from Atlassian. I have enjoyed both. While I think BitBucket has better integration with JIRA, I think the other services offered in GitHub work just as well. They *do* have JIRA integrations which work just fine. Also, if you use GitHub Issues instead of JIRA it works great and they have amazing support for that as well. I would highly recommend GitHub to anyone looking for a git service.
GitHub is the #1 git service. So much so some people the tool git with the service GitHub. I have used www.Github since 2012 and use GitHub Enterprise at work on a daily basis. The services and integrations with other software suites is top notch. Now that they also support private repositories for free accounts, I've ditched other git services entirely.
I love their Markdown parser and how they allow the use of Markdown in everything. It makes it much easier to document code and comment on pull requests.
It would be nice if their multi-datacenter replication solution was a little bit better for an on-prem installation. Fortunately, they now include GitHub Cloud Service as part of their enterprise license, which might alleviate the struggles of a multi-datacenter installation.
A must for all developers and interns who wish to make a great future in the field of technology. Outstanding and simply splendid experience!
The overall platform is really vast and well designed for developers in the software fields (IT/CS) willing to contribute in terms of open source to the entire technology communities.
It is really easy to upload our code or related development work, files and projects on to the GitHub platform using version control systems like GIT integrated in the respective IDE's or from the terminal.
Using this platform has given me great exposure to others on the same platform as it makes my code public where others can watch, vote and contribute on the same project. Apart from this, we can either have projects marked as private or public based on the type of repository we wish to choose.
Being online, we do not need to save backups or worry about loss of projects and code changes as all this is managed through the version controls and commits done via pull requests.
Overall, this is the one and only best place for managing code, getting others to contribute on similar lines and more.
Users can not only write scripts to push their code, but they also provide a GUI that is useful to upload their code on to the GitHub platform. Approvals from developers and self is managed pretty easily.
Literally, haven't noticed much cons as this is the top-most platform on my list for the benefits it provides and reduces the overall complexities of managing projects and stuff.
Because GitHub is a reputable service used by millions of developers, it serves as a great tool to show off your skills to potential employers. I personally got the privilege of getting access to more work opportunities as my experience using the service was taken into account when working remotely with a team. Being uselessly paranoid about potentially losing my files and projects, I feel reassured knowing that my code is being hosted on GitHub while being seamlessly synchronized on a third-party storage service, allowing for a painless retrieval of anything of importance in the worst case scenario. It also serves as a useful backup in case the code base gets messed up locally: it suffices to delete everything and start from scratch by pulling all the data from GitHub. The reverse is also true: if for some reasons a project has diverged too much from local changes being made, it is very simple to rewrite the history of a project by reusing only local references and discarding anything on the other side. Since Git isn't particularly easy to approach for beginners, having all those safeguards and the ability to undo most actions brings peace of mind to the user.
Since GitHub relies on Git underneath, one can be assured that it uses a strong, open source system behind the scenes. It integrates so well with the command-line that it's the main way I interact with GitHub on a daily basis. All essential actions you may need to perform are also available in the graphical interface on GitHub, making for a convenient experience when on the move as all necessary tools can be accessed either way. It offers security features such as the ability to link SSH and GPG keys, allowing users to verify their commits and secure their identity. The two-factor authentication system is also impressively well thought-out, having various recovery options including security keys, SMS number, recovery tokens, recovery codes and even fallback SMS number. If you often write the same content in form of comments, there is even a feature to have "saved replies", speeding up the interaction process for recurring matters. GitHub is also extremely accessible, offering unlimited private repositories for personal use. Even open source organizations can benefit tremendously without having to spend a dime as it includes by default everything one can need. GitHub is also perfect for students, giving you access to pro features and discounts through their "Student Developer Pack". GitHub Pages is another fantastic aspect of the platform, allowing you to host a website without any hassle, with really quick build time while also ranking very high on search engines.
Even though all members in a specific organization on GitHub may prove they are all verified students, there is still the need for the educational institution to set up a few steps on their own to approve changes being made, which slows down considerably the initial setup. The search options, although they are powerful, aren't very intuitive and many useful functions are well hidden in the documentation pages. As a regular user, there is no option to freely start collaborating in private repositories before scaling up, which is a feature that's often available on other similar platforms. On that note, the price tag for GitHub is relatively high for the added benefits compared to other solutions. There is a restriction on file size, which cannot exceed 100 Mb. In most instances, this is not an inconvenient, but it will not be an appropriate platform to handle sharing large files when rendering 3D models for example.
The ability that is seen on the GitHub and once the account was created for our project it was all fun for the team members. The future of the big and small projects now point directly to the new development on GitHub. From one point of control, you can supervise the progress and changes made by the team members. It has a friendly cost of operation and can be implemented at any stage of the project.
My first interaction with GitHub has never been changed and made different following the impact it had on my project. The fact that I was leading a big team that needed to share and update file frequently, GitHub become a game changer and the source of success to us. When asked to use the software for any project any time, I would settle for this with confidence following the following facts
I went against the norm to compare the ability of the software and here are some of the reasons it remained on top for me.
-Very easy to get started use.
-Compatible with many other devices that are needed.
-Can be shared in a team simultaneously seamlessly.
-Organizes the work depending on the latest changes.
-Offers central view of the project leading to easy supervision.
-Requires simple device to host and integrates perfectly with the internet.
-Has a great collection library to edit your work.
-Offers pocket-friendly cost to all users.
Not all our needs were met with ease following the great expectation that we had. Here are some points to have in mind even after the great ability has been demonstrated.
-It works with predefined command.
-Requires strict monitoring as changes can be compromised to interfere with the meaning.
-Fast and stable internet is a must have for success.
-You need technical know-how to manipulate and make changes on the platform.
Github is very easy to use git hosting provider server. Github allows easy contributions of code between our project members. Github provides a way to review code before it is merged into master branch. It provides nice interface to view all commit history and allows to easily compare two different commits. Github provide fast searching across all files. I recommend git hub to all developers who are looking for an simple and easy to use source code management and git version control hosting server. GitHub has some of the best documentation around. Github makes easy to contributions to projects within small and large teams.
GitHub is most popular git version control repository server. Github provides collaboration features such as project read me, wikis, issue tracking, pull requests, commit history, access control to various collaborators. It provides all features of GIt as well as adding its own features. Github provides a feature to compare two branches or two commits called pull request. A code reviewer can review and provide his commits on this. GIthub provides private repository for personal projects. We are using github in our each and every project as source code management.
If someone is new to GitHub, one of the challenges is getting to grips with the github model, which requires practice and time. It costs to have a versioning repository on GitHub. Github GUI a little confusing to use and it is easy to use its CLI instead. Private repositories are chargeable. Bitbucket comes with Jira integration that is still missing in Github
Excellent has been my experience, the truth is that in this platform I have found codes that have served as a complement to other projects, in addition to that they have allowed me to complete or start some others and also collaborate with a community that does not stop growing. Sometimes with the code we add there we also help other people to solve other problems.
I think this platform is the best programming and code resources platform that exists, its use is completely free except for needing to have to upload code privately, it seems to me to be an excellent tool since in it we can get programmers collaboration from any part of the world without major problems and not only that but we can easily locate complementary code to some project that we have or simply functions that we will not need to subsequently program on our own, in addition to that I really like that it has an editor and compiler which allows us to execute the code online and in this way observe if the code has any inconvenience, it also keeps a backup copy of all the changes we make so that returning to the previous version will never be a big problem.
As for the bad thing, I only think that it has to be necessary to pay to have a project in a private way, which is sometimes essential since if we have any code that is paid or is not freely used or confidential, no It can be shared with third parties and in these occasions it is necessary to acquire membership by way of privacy.
If you are doing anything in academia, even if you are a student, or anything related to software engineering you want to use Git. Note that there is a difference between Git and GitHub - Github is where your data is stored.
GitHub is also the biggest (to my knowledge) hosting service for Git so most likely it will be your first contact if you work with Git. Fortunately, it's also very good. The interface is easy to use (of GitHub, NOT Git) and as far as I can tell it has no downtimes. I have never needed the support so I can not rate that, but that is just a further indicator for the quality of GitHub, everything is either obvious from the get-go or well documented.
Even if you are just writing homework assignments, it's a good idea to back up your work using Git. If you are in the field of software engineering or doing "recreational programming" you might already be familiar with Git. In either case, using GitHub to host your Git projects is an excellent choice.
Every time I want to add a local, existing project to GitHub I have to Google how to do so. This is not so much GitHub's fault as Git's but there is a guide how to do this hosted on GitHub. However I can never remember where it is on the GitHub page without using Google, so that could certainly be improved. Once the project is hosted on GitHub however there are no issues from my side.
Being able to obtain and run entire working projects without even having to learn how git works
Being able to backup and restore projects with very simple terminal commands puts me and the rest of the team at ease
I have yet to see the site experiencing downtime meaning that I have never had any work delayed because GitHub was unavailable
I use GitHub mainly for research purposes and the huge availability of code has really supercharged my IT career. There are countless times when GitHub repositories came to the rescue when I was tasked with a coding problem what was technically beyond me. Their internal search engine is world class; you never have to use special search tricks to get what you are looking for. I also love the way they list the repositories; you are able to tell what a specific repository contains without clicking individual results.
The download option was also very convenient and useful when I didn't know how to use git; It was easy to download an import a project without having to spend hours and hours poring through tutorials.
I secretly with that It is possible to compile and run code snippets without having to download them into my computer.
Another thing that i don't like is having to open individual class files in new tabs; it would be better if there was a panel on the side that allowed you to select and click through to individual classes/files, sort of how modern IDEs work
Wonderful source control that allows us to code without worrying about things that have changed and caused problems. Easy to go back in your commit history and branch off to fix issues.
Personal Use: Whenever I want to spin up either an open source project or a home grown personal project I send it up to Github. I don't think there is another brand that has as strong a presence as Github. The amount of vendors that integrate with Github is one of the main reasons I am in Github. Pull requests are easy and the ability to do a code review is key.
Professional Use: Our team previously had all of our products in Github in Private repos which worked out great for quite some time. We have recently moved to VSTS but only because of the demands of our stack. It was easy to use and very cheap for our team. I can't think of a more affordable solution.
Overall Github has been a cheap easy solution for version controller of personal, open source, and corporate projects.
Getting used to interacting with Github through the command line can be a bit daunting. With our tools we had we were interacting via a GUI but would occasionally have to step into the command line to get some special operations done.
They could also have a better workflow for things like Kanban boards but now that Microsoft has purchased them we may see them move in that direction.
Github has improved the quality of both my team's code and knowledge of our system and programming in general. Its tools for facilitating code reviews allow my team to share knowledge about our stack and domain while also providing opportunities to vet and improve the code we ship.
From commenting discussions on individual lines of code, to explicitly requesting code reviews from particular teammates, to integrations with various continuous-integration (CI) and deployment systems, Github is a fully-featured tool for vetting and tracking changes to your codebase. From the moment you push code up, Github can help your team usher changes through code reviews and approval processes, with all the details and history you would expect from a system built on Git. And with a powerful API and webhooks, Github has a wealth of extension points for building integrations to customize your workflow.
I'd like more granular control over which email notifications I get (specifically the ability to be notified of new comments on a pull request without also being notified of every additional commit). And while the Reviews feature which batches comments into an all-at-once "review" is central to my team's workflow, the inability to leave immediate, one-off comments in the middle of a review is sometimes limiting. Still, these are minor inconveniences in an otherwise powerful and flexible tool.
GitHub offers to host projects that rely on the Git version control system. While mainly aimed at developers, it works very well for any text-based work.
GitHub offers free hosting for all open source repositories (i.e. your code will be visible to the public). The website is extremely easy to use, and has a beautiful, clean interface.
When working in teams, the concept of pull request comes in very handy: one developer can "branch off" the main version of the project to work on a new feature. Once the feature is ready, the developper proposes a "pull request", to re-integrate the new feature into the main branch. Contributors to the project can review the code, giving precise feedback on the new feature.
I have used this workflow with great success in the context of small teams.
Finally, GitHub scores major points in the academic sector by providing Student and Institution accounts with unlimited private repositories, for free ("Student Pack").
Outside of the free student accounts, the GitHub subscription could be slightly pricy, especially for a small developer.
As we come to rely more and more on GitHub to host code, any downtime becomes very critical. In the past few years, there were a couple of instances of GitHub downtime which affected my productivity.
Overall is a great tool to be used for OpenSource or personal projects. I've never used it on a professional environment but just to create personal/open-source projects and collaborate in others. For this purpose I think is the best you can get online for free.
Well, no need to say that is the most popular repository for open-source projects as almost every open-source or DIY project is hosted there.
The reason in my humble opinion is that it offers the possibility to create a complete "site" for your project, not only being limited to a code repository and a readme file, but it also allows to create a wiki, it provides an issue reporting section, good and complete branch management interface, and so on.
Personally I do like the releases section, as it allows to publicate together with the downloadable code, all the changes list, bugs fixed and so on, so you can set all needed documentation of each release in there.
This is the most important stuff about the public repos and "collaboration sites" it provides.
Apart from this, for private use it provides the usual stuff on version controll sites, with te pull request management section, code reviews, comments and so on.
As a free repository service I think GitHub provides the best service you can find online.
Maybe the documentation on GitHub itself is a bit of a mess. Sometimes is hard to find some info on how to do stuff, especially for new users. Once you're used to it, then all goes smooth.
Beside that, it lacks the possibility of doing some special git operations, for which you need to go to command line in order to perform them, but besides that minor stuff, it is a great service.
The main benefit would be version control. Version Control also means that your project has also been backed up online for easy recover in case of onsite accidents. Their service works with a large number of third party software applications and services allowing you to add version control and deployment options to them.
Github is by far one of the best services for managing development projects.
Our company's primary use of Github is for project version control but Github also has a few extra features that makes our lives easier. Our company utilizes freelance programmers from working in different regions and Github makes it easy for each of us to work individually on a project without fear of overwriting or delete work that has been done. It also works well with Azure making deployment an automated affair. Once we commit to the master project the changes are updated instantly on our Azure web-server. It is also very easy to edit your code online via their website. Their windows desktop software makes working in Git easy and their GUI removes the need to work in command prompt. This ensures that even a new developer can work with version control. I am very happy with their product and services.
Github from time to time will still require you to have some knowledge of Git. You will have execute some commands via the command prompt or terminal. The online editor does make things a bit easier but getting the right versions to affect the master can still be tricky for a new comer. Keeping track of branches can become an issue but this is more a issue working with Git than their service. In the end you will have to take some time to learn Git and how it works.
* Really easy to setup new repository and get it working.
* It has integrations with any popular CI/CD system, which makes it easy to use.
* The compare/pull request UI is really awesome and helpful.
* I liked the recently introduces security notification and "Used by" feature.
* This is really a feature request, rather than a con, We wanted branch privileges where no one can merge a specific branch to any other branch. Like the development branch cannot be merged into any other branch. Other branches can be merged into development but not vice-versa. It's possible with git-hooks but would be great to see that implemented in Github.
I have used GitHub for a while and it provides almost everything I need to build software. With the plans to add a CI/CD system, it would become a complete and must-have tool in a Software Developer's life.
- Free Unlimited Private Repos
- A massive online community so any issues you encounter have definitely already been solved
- Notification system for Pull Requests and Security Vulnerability on your repos is to notch
- Github sites for static page hosting
- Fast release of additional features
- No emphasis or mature support for handling multiple repos which belong to the same project like other source code hosting providers have
- No inbuilt CI/CD (Although GitHub is soon rolling out this feature)
My overall experience with Github is very satisfactory. I have been using Github from last 4 years and using it to the max potential. I applied for Student Education Pack and it helped me with the free package which helped me in my learning. Now, I can help Open Source Communities and and also publish my code for others to contribute to and also to improve upon. Some things can be improved but the overall experience is great.
Github is an easy to learn and easy to use development platform. It provides a platform to collaborate on other's code and also open our code for collaboration from others, thus helping us making our code/app better. Also, project management is built right into the ui of Github, all the code issues and projects are there right next to projects. Also, Open Source community is largely helped by Github, which lets developers discover new projects and use these new projects as dependencies in their next projects. Thus, helping the developers community to grow. Also, Github offers a great Education plan helping students learn things without the burden of subscriptions.
Ability to collaborate on private repositories. Only 3 collaborators are allowed in free private repositories (Microsoft made it free just months ago). Pull request UI can be improved to provide more information.
Overall a great experience moving to Git. Exceptional tool!
The switching over from TFS to git was a cake walk!
The integration with Katalon Studio. Hence the number of tools used reduced phenomenally.
Integrated git with Sourcetree so branch management for me was easy.
Initially developers had issues with the huge commits but then with sourcetree it was lot easier to manage.
Most simply, hosting code and using it in various Continuous Integration contexts.
Github does most everything I want a git repository to do and does it well. Hosts code, allows (and facilitates) collaboration, has integrations that truly add value, has issues/pull requests that make sense, hosts static webpages with little effort, and so much more. Whether you're coding for yourself, within a large company, or involved in open source projects, Github deals with all of your concerns incredibly well (trust me, I've used it for all three use cases). There hasn't been a case where Github has blocked me from doing anything I need it to do, which is much more than I can say for other software. For something as simple as hosting code, Github has managed to do a whole lot more while still keeping it all focused on one thing: writing code.
The labelling system in Github issues isn't the best. With how incredibly freeform it is, every repository has their own complex system of labels. Projects is a decent feature, but making sense of all the issues a repository has (sometimes hundreds) is just overwhelming. It ends up just being an enormous list to parse and can be stressful to manage or just to search through.