GitHub.com – Mạng xã hội dành cho Lập trình viên

Để quản lí mã nguồn, trước đây mọi người hay dùng CVS. Vài năm nay, mọi người đều chuyển sang SVN. SVN phổ biến được là nhờ chỉ cách tân CVS còn cách dùng rất giống CVS, và có sẵn rất nhiều công cụ. Chuyển từ CVS sang SVN còn dễ hơn là vẫn dùng CVS. Gần đây, xu hướng mã nguồn mở và mạng xã hội mang đến công cụ còn tốt hơn SVN, là Git.

Git chưa phổ biến lắm vì chưa có nhiều công cụ dễ dùng giúp tạo khối lượng tới hạn để bùng nổ như SVN. Nguyên nhân nữa là chưa có nhiều bài giới thiệu (như bài viết này chẳng hạn). Bài viết này giới thiệu cách tiếp cận Git rất dễ thực hiện là thông qua GitHub.

Sơ lược về Git

Trong khi CVS và SVN lấy project làm gốc, từ đó rẽ ra các nhánh là developer, thì Git lấy developer làm gốc, từ đó rẽ ra các nhánh là project. Hai nhánh project gặp nhau có nghĩa hai developer cùng hợp tác để làm cùng project. Ý tưởng của Git rất hợp với ý tưởng của mạng xã hội, đã có nhiều trang web cho phép host project mã nguồn xây dựng theo kiểu mạng xã hội và dựa trên Git để quản lí mã nguồn. Đối với mã nguồn mở, mạng xã hội kiểu này là cột mốc đáng kể, mở ra bước tiến hóa tiếp theo. Đối với mã nguồn đóng trong công ty bình thường, nó cũng mang lại cách phát triển phần mềm tốt hơn, chẳng phải công ty chẳng qua cũng chỉ là một dạng xã hội hay sao!

Vài lí do nên chuyển từ SVN sang Git:

  • Ở local copy, Git chỉ lưu thông tin ở duy nhất một thư mục .git ở thư mục gốc của project. SVN thì trong thư mục nào cũng có thư mục .svn, nên sẽ gặp rắt rối ngay (ví dụ người chỉ quen dùng công cụ GUI) nếu không để ý (vì thư mục này ẩn) mà di chuyển thư mục ví dụ theo kiểu copy bình thường.
  • Kích thước repository thường chỉ bằng 1.5 lần kích thước project nó chứa. Repository của Mozilla chiếm khoảng 12GB khi dùng SVN, khi chuyển sang Git thì chỉ chiếm khoảng 400MB.
  • Nếu project là mã nguồn mở, hiển nhiên là nên dùng Git để mọi người dễ đóng góp (nếu đã quen dùng SourceForge, RubyForge, Google Code, thì chỉ cần dùng thử GitHub chừng 1 tiếng sẽ thấy ngay).

Không chỉ bó hẹp trong việc lưu mã nguồn chương trình, Git có thể dùng vào mục đích lưu cái gì đó cần lưu theo phiên bản nói chung, ví dụ wiki. Hãy xem phần tham khảo ở dưới để tìm hiểu thêm. Xem lịch sử commit, sẽ thấy có ít nhất một cái tên Việt Nam là Nguyễn Thái Ngọc Duy.

Tiếp cận Git thông qua GitHub

GitHub là mạng xã hội dành cho lập trình viên lớn nhất và dễ dùng nhất. Một số tính năng hấp dẫn:

  • Wiki, issue, thống kê, đổi tên project, project được đặt vào namespace là user.
  • Watch project: theo dõi hoạt động của project của người khác, xem quá trình người ta phát triển phầm mềm thế nào, project tiến hoá ra sao.
  • Follow user: theo dõi hoạt động của người khác, biết người ta làm project gì mới, người ta follow user nào, xu hướng quan tâm cái gì (= công nghệ gì).

Học cách dùng Git thông qua học cách dùng GitHub là cách dễ thực hiện nhất, vì lúc này sẽ có cảm giác dùng dịch vụ của GitHub là chính, dùng Git là phụ, quá trình Git thẩm thấu vào đầu sẽ rất tự nhiên, êm.

Có 2 cách tiếp cận GitHub:

  • Tạo project của riêng mình.
  • Cống hiến cho project có sẵn: fork project có sẵn của người khác, sửa đổi, rồi bảo người ta pull sửa đổi của mình về (xem link cuối cùng ở phần tham khảo ở dưới).

Nguồn: Blog Công Nghệ Thông Tin

5 thoughts on “GitHub.com – Mạng xã hội dành cho Lập trình viên

  1. Hiện tại mình vẫn bị bó buộc vào nền tảng Windows nên chưa tiện xài Git cho lắm. Xài SVN với TortoiseSVN vẫn tiện hơn. Khi nào có điều kiện chuyển hẳn qua nền *nix sẽ thử xài Git để quản lí mã nguồn cho dự án xem sao. 🙂

    Reply
    • Hình như tớ có cài cũng lâu lâu rồi cái msysgit. Nó có giao diện CLI thì phải. Haizz. Tớ cũng 0 đến nỗi ghét CLI nhưng mà thấy xài giao diện GUI của TortoiseSVN vẫn tiện hơn cứ gõ command trong CLI. Đúng là Windows làm mình lười đi nhiều quá.
      Vừa gửi cái comment cho bạn xong thì Google mới biết có bản port từ TortoiseSVN sang TortoiseGit .
      Nghe bảo phương pháp quản lí phiên bản kiểu phân tán này đổi mới tư tưởng lắm. Nhiều dự án open source cũng chuyển dần qua Git rồi.
      Tớ cũng biết lâu lâu mà lười chuyển đổi qua Git mà Aptech thì vẫn xài Subversion đâm ra lại càng lười.
      Mà GitHub hỗ trợ private project nhỉ. Hay đó! Cái Assembla chết dẫm cứ public hết cả ra. 😐

      Reply
      • Tớ thì tớ thích command line lắm, đang tính học xong chuẩn bị tháo dở Windows thay Ubuntu vào và xài hẳn nó.
        Với git cũng vậy, môi trường unix với tớ rất thân thiện. Dùng CLI của git thì đầy đủ các chức năng hơn, đủ các option cho mình tùy nghi sử dụng.
        Còn tool như TortoiseSVN hay TortoiseGit thì rất dễ sử dụng, nhưng các tính năng thì cũng chỉ ở mức vừa đủ để xài. Mình thì cũng có xài tool này nhưng cũng đa phần dùng CLI nhiều hơn.

        Github hay Assembla đều là hosting hỗ trợ cả public & private project. Nếu muốn private thì vẫn phải trả phí thôi. Nhưng tớ vẫn thích public cả ra, vì tư tưởng đang theo GNU mà :).

        Reply
  2. Tớ mới coi quảng cáo trên trang chủ GitHub chưa xem Pricing. 😐 Hóa ra lại đòi tiền như Assembla. Haizz.
    Sắp tới tậu desktop mới tớ cũng sẽ xài Ubuntu. Code PHP và Java thì xài Windows làm gì nhở? 😀

    Reply

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s