Sử dụng phần mềm GUI nào để quản lý Git?

Sử dụng phần mềm GUI nào để quản lý Git?

Tại sao cần quản lý Git bằng GUI?

Có nhiều lập trình viên sử dụng, quản lý Git dưới dạng command line, và để đạt được mức độ thuần thục và nhớ các câu lệnh cũng như quy trình (git-flow) để làm việc với Git thì quả thật mất thời gian rất dài.

Theo cá nhân mình, hãy để phần mềm làm việc đó, hãy tập trung cho việc code. Do vậy mình giới thiệu một vài phần mềm GUI được sử dụng để quản lý Git.

Đặc điểm chung:

  • Thao tác cả Git và Mercurial
  • Dễ dàng sử dụng, trực quan
  • Theo sát git-flow
  • So sánh tập tin và merge

Bạn có thể click vào các link bên dưới theo từng ứng dụng để xem toàn bộ tính năng.

1. Source Tree [Mac/Win]: miễn phí

Được phát triển bởi anh lớn Atlassian với nhiều sản phẩm nổi tiếng: Bitbucket, Jira, Confluence

  • Giao diện đẹp, hệ thống chức năng trực quan
  • Có thể thêm nhiều tài khoản từ Git, Bitbucket
  • Dễ hiểu cho người mới bắt đầu và đủ mạnh cho dân chuyên nghiệp

2. Git Desktop [Mac/Win]: miễn phí

Được phát triển bởi anh lớn Github.

  • Giao diện đẹp, đơn giản
  • Tích hợp Github Enterprise
  • Tạo pull request ngay trong ứng dụng
  • Là phần mềm mã nguồn mở

3. Tortoise Git [Win]: miễn phí

Được phát triển bởi cộng đồng mở nguồn mở

  • Tích hợp với trình đơn trong menu của Explorer
  • Tích hợp với hệ thống quản lý tracking issue
  • Là phần mềm mã nguồn mở

4. Smart Git [Mac/Win/Linux]: 99$, 30 ngày dùng thử. Miễn phí nếu phi thương mại.

Được phát triển bởi nhà sản xuất phần mềm Syntevo

  • Tương tác cả Git, Mercurial và cả SVN
  • Sử dụng với nhiều nhà cung cấp: Github, Bitbucket, Atlassian Stash, Beanstalk, Codebase…

Nhận xét:

Với những tính năng trên, có lẽ Tortoise Git là yếu nhất do chỉ có trên Window, và mình cũng thấy việc tích hợp Git vào trình đơn của Explorer là ý tưởng tốt vì nó khiến trình đơn nhiều hơn và khá rối. Với Smart Git, mình chưa thấy đặc điểm gì nổi trội để phải bỏ ra 99$ sử dụng và chỉ với 1 năm hỗ trợ, hơn nữa chỉ miễn phí với phi thương mại thì rõ ràng không thể sử dụng để làm việc trong công ty, cũng như làm dự án riêng có tính chất thương mại.

Với Git Desktop, được phát triển bởi ngay chính chủ Git thì tính tương thích không phải bàn cũng như sự phát triển về tương lai. Tuy nhiên, điểm yếu là chỉ có thể sử dụng cho 1 tài khoản Github. Hơn nữa, cùng với việc ra mắt Atom, mình nhận thấy Github đang tiến vào mảng chưa phải là thế mạnh của mình. Điểm mạnh là do được phát triển từ cộng đồng nên khả năng phát triển cao, tuy nhiên tại thời điểm hiện tại, chức năng cũng chưa quá đặc biệt nổi bật.

Và người chiến thắng là… Source Tree: với khả năng hỗ trợ nhiều tài khoản bạn có thể sử dụng: 1 tài khoản cho Github với các dự án mã nguồn mở, 1 tài khoản cho dự án cá nhân trên Bitbucket, và 1 tài khoản quản lý Git cho công ty như hình dưới dây:

Source Tree

Cùng với hệ thống chức năng trực quan:

Source Tree - Features

Source Tree đáp ứng đầy đủ chức năng, dễ sử dụng và quan trọng nhất là miễn phí, chạy được trên Win và Mac.

Kết bài:

Còn một trường phái nữa, là sử dụng Git ngay trong chính IDE, tuy nhiên bản thân mình thấy nó cũng chưa phải là lựa chọn tối ưu. Quan điểm của mình là IDE là nơi để tập trung viết code, không phải là nơi quản lý. Để quản lý mã nguồn, hãy sử dụng GUI ngay trên máy dùng để lập trình sẽ hiệu quả hơn.

Việc sử dụng đúng công cụ quản lý GUI ngay từ đầu giúp cho bạn thoải mái tập trung vào việc lập trình mà không phải lo nghĩ về tiến trình git, hay các câu lệnh phức tạp.

Hi vọng qua bài viết này, sẽ giúp cho bạn có quyết định tốt hơn cho riêng mình. Nếu bạn sử dụng một chương trình nào đó hay hơn, vui lòng bình luận để mọi người cùng biết nhé.

Read more