To add to the answers above using Github is a great way to share code with the community. Many developers will go there first to search for projects and solutions if they're using Open Source Software (OSS) to help solve whatever problems they're working on. Also even though Github doesn't have out of the box CI there are integrations with Github in many tools, including every major CI system in use today. They also have a really nice API you can use if you wanted to build any other integrations yourself.
Yu-Da Lin, for me use of Github and Gitlab is that I can track and control on the Team Project which is maintained by my team members. Mainly, It reflects that how one is oriented towards Open Source Technology.
That's all from my side. I hope you must too have some views on this.
GitHub and Gitlab are fairly similar in terms of their function. Both of them are git based repository hosting services. But they do however provide some unique features.
I personally use both of them in my private projects. If I'm developing something with the intentions of open sourcing, i tend to lean towards github. But if the project I'm working on is closed source and requires a bigger team with varying permissions, I would personally go with GitLab.
GitLab is excellent if you want to host your repositories in your own server free of charge and due to this feature it is widely used in the industry where as when it comes to GitHub, you have to subscribe to their GutHub Enterprise service by paying.
GitLab provides free unlimited private repositories whereas GitHub recently started providing free private repos with some strings attached (read more here https://github.blog/2019-01-07-new-year-new-github/). I recently started using GitLab's CI(continuous integration) pipelines and found that to be extremely helpful. You can't do that in GitHub out of the box without third party tools like travis-ci.
Anyway, these are my personal views and I can't really say which one is better without analysing your use case. Hope you found my inputs useful Yu-Da Lin. Good Luck!
To add to the answers above using Github is a great way to share code with the community. Many developers will go there first to search for projects and solutions if they're using Open Source Software (OSS) to help solve whatever problems they're working on. Also even though Github doesn't have out of the box CI there are integrations with Github in many tools, including every major CI system in use today. They also have a really nice API you can use if you wanted to build any other integrations yourself.
All the things the replies above me said about GitLab. Additionally, you can host it yourself, on premise, even in a Docker container. Also the User and rights management is fully in your hand.
With the latest version you get besides the continous integration and deployment tools, you get a Docker repository, where you can manage your docker images.
The greatest advantage is using version control on whatever you are developing. This allows you to go back a forth in your code, in a controlled manner, without zipping or compressing the code and naming it "final_v1", "final_FINAL" and so on. If you are doing anything related to programming or developing, using one of those is essential and one of the best practices you can use.
There is no much difference between both GitLab and GitHub, and I have used both. They are based on Git (there are many version control systems) and allows you to have a cloud-based online repository where multiple people can push and pull. Merges are controlled and reviewed, so that code is not improperly overlaid. Both allows you the following:
- To have pages/websites for your repos
- Managing issues/milestones
- Controlling permissions
- Pushing/pulling
- Having private repositories
- Continuous Integration
- Project wikis.
GitLab has additional functions like having an issue board for agile development, which is quite useful actually.
Both git-hub and get lab are web-side get hub can be share code and information with about 3 m git-lab users manage source code for developer which change version each time add code into project. Get lab help user to training and understanding Software system and development.
I would like to use Github,because it's used by most of my colleague,some even don't know Gitlab.On the other hand,we seldom use linux,so Github is more useful to me.
Are mainly the same things, GitLab is a little bit more complete (you can manage better the user permission, project branches, and other things). If you want only the service GitHub is good, GitLab is more good if ou have an enterprise, not always is better to have the product super complete because after you are forced to use almost all.
I think bitbucket is way better than GitHub. Though both GitHub and bitbucket support to create private repository now, GitHub doesn't support more than 100MB file sizes whereas bitbucket do.
These are mostly using for version controlling. Apart from that for making off-shore software development we use these. The most interesting part of these code reviewing can be done easily.
in GitHub you can upload your codes and projects as a Hard disk and everyone can access this project if it was public and in Gitlab you can develop a program and coding.