GitHub - Mạng xã hội dành cho lập trình viên
Software Engineering
36
White

Ngoc Dao viết ngày 27/06/2016

Bài này viết vào mùa xuân năm 2009 để quảng bá cho Git và GitHub. Thời điểm này, SVN và TortoiseSVN thần thánh đang là số 1, và thói quen viết blog Yahoo! 360° của người Việt chưa bị Facebook làm hỏng.

Để 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ề (tạo pull request)

Tham khảo

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Ngoc Dao

102 bài viết.
252 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
56 6
Làm thế nào để nâng cấp trang web mà không làm gián đoạn dịch vụ? Đây là câu hỏi phỏng vấn các công ty lớn thường hỏi khi bạn xin vào vị trí làm lậ...
Ngoc Dao viết 2 năm trước
56 6
White
32 0
Bài viết này giải thích sự khác khác nhau giữa hai ngành khoa học máy tính (computer science) và kĩ thuật phần mềm (software engineering), hi vọng ...
Ngoc Dao viết gần 2 năm trước
32 0
White
28 1
Nếu là team leader, giám đốc công ty hay tướng chỉ huy quân đội, vấn đề cơ bản bạn gặp phải là “hướng mọi người đi theo con đường bạn chỉ ra”. Thử...
Ngoc Dao viết gần 2 năm trước
28 1
Bài viết liên quan
White
1 1
Lập trình đôi (pair programming) là hình thức lập trình trong đó 2 người cùng hợp tác làm việc trên cùng màn hình (có thể khác bàn phím v.v.). Bài ...
Ngoc Dao viết gần 2 năm trước
1 1
White
5 1
Trong quyển sách Beyond Java, xuất bản vài năm trước có đoạn:Java has characteristics that many of us take for granted. You can find good Java deve...
Ngoc Dao viết gần 2 năm trước
5 1
White
3 0
Lập trình viên quá cố người Mỹ Phil Karlton có câu nổi tiếng: There are only two hard things in Computer Science: cache invalidation and naming th...
Ngoc Dao viết gần 2 năm trước
3 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
102 bài viết.
252 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!