Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

GitLab

62.6K
53.6K
+ 1
2.5K
PhpStorm

14.3K
11K
+ 1
1.6K
Add tool

GitLab vs PhpStorm: What are the differences?

Introduction

GitLab and PhpStorm are both powerful tools used in software development projects. While GitLab is a web-based Git repository manager, PhpStorm is an integrated development environment (IDE). Despite their similarities, there are several key differences between the two.

  1. Version Control System Support: GitLab provides comprehensive support for Git, a distributed version control system. It offers features like repository management, code review, and issue tracking. On the other hand, PhpStorm supports multiple version control systems, including Git, Subversion, and Mercurial. This allows developers to work with different VCS systems within the same IDE.

  2. Collaboration Features: GitLab offers collaborative features that facilitate teams working together on a project. It enables code sharing, branching, merging, and merging requests for effective collaboration. PhpStorm, on the other hand, focuses more on providing advanced coding and debugging features rather than extensive collaboration tools.

  3. Code Intelligence and Navigation: PhpStorm excels in code intelligence and navigation features. It offers intelligent code completion, code analysis, and code inspection, which help developers write clean and error-free code. GitLab, being primarily a code repository manager, does not provide the same level of code intelligence and navigation features.

  4. Code Debugging and Profiling: PhpStorm provides powerful debugging and profiling tools to help developers identify and fix issues in their code. It supports step debugging, breakpoints, and profiling, making it easier to analyze and optimize code performance. GitLab, being a repository manager, does not offer built-in debugging and profiling capabilities.

  5. Integration with Other Tools: GitLab integrates well with various third-party tools and services, such as Jenkins for continuous integration and deployment. It also provides APIs for custom integrations. PhpStorm, on the other hand, offers seamless integration with other JetBrains IDEs, such as WebStorm and PyCharm. This allows developers to switch between different IDEs without any hassle.

  6. Pricing Model: GitLab offers both free and paid versions, with additional features available for enterprise customers. It follows a subscription-based pricing model, where different plans offer varying levels of functionality. PhpStorm, on the other hand, is a commercial IDE and requires a paid license for full access to all its features.

In summary, GitLab is a powerful web-based Git repository manager with collaboration features, while PhpStorm is an advanced IDE with comprehensive code intelligence and debugging capabilities, supporting multiple version control systems. GitLab focuses more on collaboration and repository management, whereas PhpStorm excels in providing a rich development environment for coding and debugging.

Advice on GitLab and PhpStorm
Johnny Bell

When I switched to Visual Studio Code 12 months ago from PhpStorm I was in love, it was great. However after using VS Code for a year, I see myself switching back and forth between WebStorm and VS Code. The VS Code plugins are great however I notice Prettier, auto importing of components and linking to the definitions often break, and I have to restart VS Code multiple times a week and sometimes a day.

We use Ruby here so I do like that Visual Studio Code highlights that for me out of the box, with WebStorm I'd need to probably also install RubyMine and have 2 IDE's going at the same time.

Should I stick with Visual Studio Code, or switch to something else? #help

See more
Replies (15)
Erik Ostrom
Recommends
on
RubyMineRubyMine

If you're working with both Ruby and JavaScript, buy RubyMine and shut down the other two. It's much better for Ruby than Visual Studio Code is. It can also do everything WebStorm does, if you install the plugins you need from JetBrains, and they all work together nicely.

See more
Marc Swikull
Recommends
on
RubyMineRubyMine

If you install RubyMine, you shouldn't need WebStorm, as all the functionality of WebStorm appears to be included in RubyMine. (See here: https://softwareengineering.stackexchange.com/a/132950).

I've used PhpStorm for several years and have never needed to open (or even download) WebStorm for anything front-end or JavaScript related.

See more
Russel Werner
Lead Engineer at StackShare · | 6 upvotes · 275.2K views
Recommends
on
WebStormWebStorm
at

I work at the same company as you and I use WebStorm for 99% of my tasks. I also have RubyMine installed and use that when I have to tweak some backend code. I tried using RubyMine for JavaScript but was unhappy with how it felt and I believe that WebStorm is faster because it has less plugins and language extensions running. Summary: Buy and use WebStorm for primary development and keep VS Code around for when you have to touch Ruby.

See more
Recommends
on
Visual Studio CodeVisual Studio Code

I've never had much issue running multiple IDEs and generally pick them based on the languages they best support. For front end work where I mainly use TypeScript, I stick heavily with Visual Studio Code. However, for backend work which we do primarily in Python, PyCharm is my go-to editor. The one thing that I do however is I do remap keyboard shortcuts so I get consistent keyboard ability even when I switch IDEs.

See more
Danny Battison
Recommends
on
PhpStormPhpStorm

JetBrains all the way - my entire team uses PhpStorm and none of us would even consider switching.

The availability of IDEs for other languages along with consistency in environment and keyboard shortcuts is also a godsend, which is the reason I'd also choose Rider over Visual Studio (but also VS for Mac is trash, but I digress...)

See more
Recommends
on
PhpStormPhpStorm

So here is the deal man, bottom line you want to write code. All of these tools are built in a mouse-driven world, they are designed not for engineers, but office monkeys. If you want a real workflow that gives you ultimate performance, customization and speed you need to use a modal editor, I suggest NeoVim. Start using it 20% of the time on single file edits, watch youtube videos about it and teach yourself vim gestures. It will infuriate you for 6 weeks, make you cry for another 2 months. But as you use it more, as long as your usage goes over 40% of the time, in 6 months you will understand why most of the world's too engineers use it. Settling on lesser editors out of laziness is exactly the attitude that results in shitty the engineering. Yeah it's hard. You're smart. You do hard things. Once it isn't hard anymore you will blow yourself away at how much more efficiently you edit files.

Also vim keybindings in a mouse driven editor does not cut it. Managing files, buffers and workflow is half of the value of vim/neovim. It is OK if you have to use an IDE (currently I only use an IDE for java development, so I have little choice)

So use VSCode while you teach yourself vim.

See more
Recommends
on
Visual Studio CodeVisual Studio Code

Visual Studio Code is a text editor. And this is best option in my opinion. For Ruby, I cannot say how VS Code is good. If you wanna choose IDE, RubyMine should fit your needs. Because IDEs are more compatible with major needs. But text editors are just text editor. You can do same things with also text editors. I recommend to try both VS Code and RubyMine. And you will be able to find which fits better for your needs

See more
Recommends
on
Visual Studio CodeVisual Studio Code

If I have to choose one I would go with VS Code; it’s become pretty mature and keeps getting better. If those plugins are creating problems for you then just uninstall them, find an alternative, or make a PR to fix. But at the end of the day these are IDE’s and they are meant to save you time. I would go with whatever helps you develop code faster. If restarting VS code slows you down then make a switch, that personally would annoying the crap out of me. Else maybe it’s a quick restart, not the end of the word, hopefully someone will fix at some point.

See more
Recommends
on
Visual Studio CodeVisual Studio Code

If you find something that works and are comfortable with it, stay with it. Changing IDE's and learning their idiosyncrasies takes valuable time away from programming while learning setups and keyboard short cuts. I personally use VS Code for cost and decent multiple language support. I've had issues occasionally with it locking up, but it is under heavy development and continually improving. I have also found it more intuitive for new programmers. ** Having profiles for different languages can reduce the amount of plugins running and issues they can cause.

See more
Recommends
on
PhpStormPhpStorm

I usually have both running but do the bulk of my language work in the appropriate JetBrains flavor. One thing to watch out for in VS is that under the hood it is running the tools needed for whatever language you are working with. This is where tools like JetBrains shine. While I am sure you can tune the heck out of what you use in VS, the provides context and clarity...

See more
Kyle Schoonover
Senior Software Engineer at Nordstrom · | 2 upvotes · 237.5K views
Recommends
on
Visual Studio CodeVisual Studio Code

I'm personally a Visual Studio Code fan. I've used it for both Go and Java. It really depends on the quality and support of the plugins. Typically VS Code doesn't crash as much as a bad plugin causes an unforeseen error. Make sure you stay up to date and look at alternative plugins.

See more
Lungu Alexandru-Mihai
Recommends
on
VimVim

Well you can try for a while MacVim because it is already configured with tons of plugins. My favourite text editors are Sublime Text and TextMate which are lightweight and speedy. My feeling is that JetBrains IDEs are making you brainless.

See more
Recommends
at

Visiual Studio is the best

See more
Recommends

An integrated development environment software with huge potential in the future is VS Code. So I would personally say you can use VS code.

See more
Recommends
on
Visual Studio CodeVisual Studio Code

Are you using the prettier-vscode VSCode extension or prettier via prettier-eslint? The prettier-vscode extension recommends you...

Use prettier-eslint instead of prettier. Other settings will only be fallbacks in case they could not be inferred from ESLint rules.

See more
Decisions about GitLab and PhpStorm
Elmar Wouters
CEO, Managing Director at Wouters Media · | 7 upvotes · 574.8K views

I first used BitBucket because it had private repo's, and it didn't disappoint me. Also with the smooth integration of Jira, the decision to use BitBucket as a full application maintenance service was as easy as 1, 2, 3.

I honestly love BitBucket, by the looks, by the UI, and the smooth integration with Tower.

See more
Weverton Timoteo

Do you review your Pull/Merge Request before assigning Reviewers?

If you work in a team opening a Pull Request (or Merge Request) looks appropriate. However, have you ever thought about opening a Pull/Merge Request when working by yourself? Here's a checklist of things you can review in your own:

  • Pick the correct target branch
  • Make Drafts explicit
  • Name things properly
  • Ask help for tools
  • Remove the noise
  • Fetch necessary data
  • Understand Mergeability
  • Pass the message
  • Add screenshots
  • Be found in the future
  • Comment inline in your changes

Read the blog post for more detailed explanation for each item :D

What else do you review before asking for code review?

See more
Weverton Timoteo

Using an inclusive language is crucial for fostering a diverse culture. Git has changed the naming conventions to be more language-inclusive, and so you should change. Our development tools, like GitHub and GitLab, already supports the change.

SourceLevel deals very nicely with repositories that changed the master branch to a more appropriate word. Besides, you can use the grep linter the look for exclusive terms contained in the source code.

As the inclusive language gap may happen in other aspects of our lives, have you already thought about them?

See more
Weverton Timoteo

One of the magic tricks git performs is the ability to rewrite log history. You can do it in many ways, but git rebase -i is the one I most use. With this command, It’s possible to switch commits order, remove a commit, squash two or more commits, or edit, for instance.

It’s particularly useful to run it before opening a pull request. It allows developers to “clean up” the mess and organize commits before submitting to review. If you follow the practice 3 and 4, then the list of commits should look very similar to a task list. It should reveal the rationale you had, telling the story of how you end up with that final code.

See more
Kamaleshwar BN
Senior Software Engineer at Pulley · | 8 upvotes · 721.6K views

Out of most of the VCS solutions out there, we found Gitlab was the most feature complete with a free community edition. Their DevSecops offering is also a very robust solution. Gitlab CI/CD was quite easy to setup and the direct integration with your VCS + CI/CD is also a bonus. Out of the box integration with major cloud providers, alerting through instant messages etc. are all extremely convenient. We push our CI/CD updates to MS Teams.

See more

Gitlab as A LOT of features that GitHub and Azure DevOps are missing. Even if both GH and Azure are backed by Microsoft, GitLab being open source has a faster upgrade rate and the hosted by gitlab.com solution seems more appealing than anything else! Quick win: the UI is way better and the Pipeline is way easier to setup on GitLab!

See more
Nazar Atamaniuk
Shared insights
on
DeployPlaceDeployPlaceGitHubGitHubGitLabGitLab

At DeployPlace we use self-hosted GitLab, we have chosen GitLab as most of us are familiar with it. We are happy with all features GitLab provides, I can’t imagine our life without integrated GitLab CI. Another important feature for us is integrated code review tool, we use it every day, we use merge requests, code reviews, branching. To be honest, most of us have GitHub accounts as well, we like to contribute in open source, and we want to be a part of the tech community, but lack of solutions from GitHub in the area of CI doesn’t let us chose it for our projects.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of GitLab
Pros of PhpStorm
  • 508
    Self hosted
  • 431
    Free
  • 339
    Has community edition
  • 242
    Easy setup
  • 240
    Familiar interface
  • 137
    Includes many features, including ci
  • 113
    Nice UI
  • 84
    Good integration with gitlabci
  • 57
    Simple setup
  • 35
    Has an official mobile app
  • 34
    Free private repository
  • 31
    Continuous Integration
  • 23
    Open source, great ui (like github)
  • 18
    Slack Integration
  • 15
    Full CI flow
  • 11
    Free and unlimited private git repos
  • 10
    All in one (Git, CI, Agile..)
  • 10
    User, group, and project access management is simple
  • 8
    Intuitive UI
  • 8
    Built-in CI
  • 6
    Full DevOps suite with Git
  • 6
    Both public and private Repositories
  • 5
    Integrated Docker Registry
  • 5
    So easy to use
  • 5
    CI
  • 5
    Build/pipeline definition alongside code
  • 5
    It's powerful source code management tool
  • 4
    Dockerized
  • 4
    It's fully integrated
  • 4
    On-premises
  • 4
    Security and Stable
  • 4
    Unlimited free repos & collaborators
  • 4
    Not Microsoft Owned
  • 4
    Excellent
  • 4
    Issue system
  • 4
    Mattermost Chat client
  • 3
    Great for team collaboration
  • 3
    Free private repos
  • 3
    Because is the best remote host for git repositories
  • 3
    Built-in Docker Registry
  • 3
    Opensource
  • 3
    Low maintenance cost due omnibus-deployment
  • 3
    I like the its runners and executors feature
  • 2
    Beautiful
  • 2
    Groups of groups
  • 2
    Multilingual interface
  • 2
    Powerful software planning and maintaining tools
  • 2
    Review Apps feature
  • 2
    Kubernetes integration with GitLab CI
  • 2
    One-click install through DigitalOcean
  • 2
    Powerful Continuous Integration System
  • 2
    It includes everything I need, all packaged with docker
  • 2
    The dashboard with deployed environments
  • 2
    HipChat intergration
  • 2
    Many private repo
  • 2
    Kubernetes Integration
  • 2
    Published IP list for whitelisting (gl-infra#434)
  • 2
    Wounderful
  • 2
    Native CI
  • 1
    Supports Radius/Ldap & Browser Code Edits
  • 287
    Best ide for php
  • 232
    Easy to use
  • 218
    Functionality
  • 166
    Plugins
  • 160
    Code analysis
  • 87
    Integrated version control
  • 76
    Great php ide for mac
  • 73
    All-round php ide
  • 62
    Local history
  • 53
    Themes
  • 18
    Best PHP IDE
  • 11
    Database control
  • 10
    Easy to find anything and everything in your code
  • 9
    Best bebugging
  • 9
    Best inspection variable
  • 7
    Command line integration
  • 7
    Great frameworks integration
  • 7
    PHPUnit integration
  • 7
    Getting Better
  • 7
    UX
  • 6
    Composer integration
  • 6
    Performance
  • 6
    Coolest IDE
  • 5
    Real time code validation
  • 5
    Easy to use and github interaction
  • 5
    Neat does the job and easy
  • 5
    Best ide for advanced php and symfony
  • 4
    Best ide for php
  • 4
    TypeScript support
  • 4
    Code indexing
  • 4
    It has no match. it filled one of the biggest void
  • 4
    Fast and relevant auto-complete
  • 4
    Great refactoring support
  • 4
    Cross platform
  • 3
    Integration with Vagrant and Docker
  • 3
    Debugger for Javascript
  • 3
    Good
  • 3
    Very good
  • 2
    Debugging in the Just-In-Time Mode
  • 2
    Perfect locahost / host sync
  • 2
    Awesome debugging features

Sign up to add or upvote prosMake informed product decisions

Cons of GitLab
Cons of PhpStorm
  • 28
    Slow ui performance
  • 9
    Introduce breaking bugs every release
  • 6
    Insecure (no published IP list for whitelisting)
  • 2
    Built-in Docker Registry
  • 1
    Review Apps feature
  • 14
    Uses a lot of memory
  • 10
    Does not open large files
  • 9
    Slow
  • 8
    Uses Java machine
  • 3
    No way to change syntax highlight for files without ext
  • 2
    No save prompt or asterisk on file change

Sign up to add or upvote consMake informed product decisions

25K
18.2K
3.3K
13.9K
7.5K

What is GitLab?

GitLab offers git repository management, code reviews, issue tracking, activity feeds and wikis. Enterprises install GitLab on-premise and connect it with LDAP and Active Directory servers for secure authentication and authorization. A single GitLab server can handle more than 25,000 users but it is also possible to create a high availability setup with multiple active servers.

What is PhpStorm?

PhpStorm is a PHP IDE which keeps up with latest PHP & web languages trends, integrates a variety of modern tools, and brings even more extensibility with support for major PHP frameworks.

Need advice about which tool to choose?Ask the StackShare community!

What companies use GitLab?
What companies use PhpStorm?
Manage your open source components, licenses, and vulnerabilities
Learn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with GitLab?
What tools integrate with PhpStorm?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

What are some alternatives to GitLab and PhpStorm?
GitHub
GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
Bitbucket
Bitbucket gives teams one place to plan projects, collaborate on code, test and deploy, all with free private Git repositories. Teams choose Bitbucket because it has a superior Jira integration, built-in CI/CD, & is free for up to 5 users.
Jenkins
In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
Gogs
The goal of this project is to make the easiest, fastest and most painless way to set up a self-hosted Git service. With Go, this can be done in independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, and Windows.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
See all alternatives