Git là gì? Tại sao sử dụng Git?

Github được đánh giá cao và ưu thích, rất nhiều các công ty lớn đặt kho code tại đây: Twiter, Facebook, linkedin... và google cũng hiện diện trên Github.
Git là gì? Tại sao sử dụng Git?

Git là gì?

Git là một hệ thống VCS (Version Control System) dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển mã nguồn. Git là thế hệ mới nhất của các phần mềm này. Từ phiên bản NukeViet 4.0, nhóm phát triển NukeViet sẽ sử dụng git thay thế cho Subversion (SVN) đang được sử dụng để quản lý code của NukeViet trên Google code trước đây. Mặc dù Google code cũng đã hỗ trợ Git từ tháng 7 năm 2011, tuy nhiên chúng ta sẽ lựa chọn Github làm nơi lưu trữ code mới cho NukeViet vì tính chuyên nghiệp của Github đối với Git.

 

Tại sao sử dụng Git?

Git có nhiều ưu điểm, đặc biệt nó đã thay đổi cách các lập trình viên chia tách và nhập các nhánh phần mềm. Trong khi với svn, việc này luôn là ác mộng vì các xung đột trong quá trình tách/nhập, còn với Git việc này quá dễ dàng.

GIT hoạt động theo mô hình Local và Remote repositories: Bạn hoàn toàn có thể làm mọi thao tác/công việc trên bản sao (local) repository trên máy tính. Sau khi hoàn thiện công việc rồi có thể đẩy lên Remote repository để chia sẻ cho người khác.

Tốc độ thực hiện sao với SVN thì phải nói là khác nhau một trời một vực, đặc biệt là các thao tác checkout hay merge. Chưa nói đến kích cỡ (size) của local repository được nén rất nhỏ, giảm thiểu tối đa dung lượng lưu trữ chiếm trên ổ đĩa.

Hỗ trợ rất nhiều chức năng thuận tiện khi thao tác làm việc trên nhiều branches cùng một lúc, đặc biệt là rebase.

Tất nhiên là việc làm quen sử dụng với GIT cũng sẽ phức tạp hơn với SVN một chút. Nhưng nó không đáng để suy nghĩ so với những gì GIT mang lại cho bạn. Chúng tôi cam đoan rằng nếu bạn sử dụng git thì sẽ nghiền nó ngay như chúng tôi thôi. Và chúng tôi chọn Github – công cụ rất mạnh để quản lý code.

Kho code Nukeviet trên Github

Kho code Nukeviet trên Github

 

Ai nên sử dụng github

Các team leader có thể quản lý code, điều hành, tổng hợp công việc của nhóm.

Những lập trình viên tham gia các nhóm làm dự án có thể quản lý code của mình, chia sẻ cũng như nhận code từ đồng nghiệp.

Những lập trình viên có nhu cầu quản lý code một cách hiệu quả, khoa học.

Các bạn sinh viên CNTT đang mong muốn tìm được các công việc mong muốn cần trang bị các kiến thức quản lý code và làm việc theo nhóm.

    =>Tất cả các lập trình viên nên sử dụng git vì các tính năng ưu việt của nó. Bạn vui lòng đọc thêm các thông tin bên dưới để hiểu thêm về git.

 

Về Github

- Github được coi là phương thức phát triển code mới của dân nguồn mở, là một mạng xã hội coding mà ở đó mỗi thành viên đều là các "nút mạng", họ giữ vai trò trung tâm (chứ không phải kho code). Các kết nối giữa họ hình thành nên các mối liên kết để từ đó giúp cho việc phát triển code không còn bị giới hạn và tập trung trong cái "ao làng".

- Github được đánh giá cao và ưu thích đến mức rất nhiều các công ty lớn trên thế giới đều đặt kho code tại đây: Twiter, Facebook, linkedin... và cả Git cũng có mặt trên github. Mới đây, google cũng hiện diện trên Github.

- Github cung cấp một công cụ cho phép mọi người có thể theo đuôi (watching) nhau, người này có thể xem người kia có những project gì, commit cái gì, thay đổi gì... Nếu thấy dự án hay và muốn đóng góp thì ấn nút Fork để copy project có sẵn thành project của mình, rồi sau đó ta có thể tự do chỉnh sửa project đó của mình. Chỉnh sửa xong thì ấn nút Pull Request để gửi cho tác giả gốc. Tác giả gốc có thể duyệt các đóng góp này, nếu cần góp ý gì thì có thể viết góp ý ngay tại yêu cầu đóng góp và gửi lại để người đóng góp chỉnh sửa theo góp ý, nếu thấy đóng góp này ổn thì có thể duyệt đóng góp này, hệ thống sẽ ngay lập tức trộn (merge) các đóng góp đó vào dự án gốc. Để tăng hiệu suất quản lý, toàn bộ công việc chỉnh sửa, xử lý xung đột... trước khi gửi đóng góp lên sẽ do người đóng góp xử lý, do đó góp phần hỗ trợ tối đa cho người quản lý kho code.

Như vậy có thể thấy Github là một công cụ rất thuận tiện để phát triển code, mô hình của Github phát huy tối đa lợi thế của Git do đó NukeViet có quyền hy vọng trong tương lai sẽ thu hút được nhiều hơn sự đóng góp trong việc xây dựng code của các lập trình viên từ các công ty khác, các lập trình viên tự do... mà hiện nay còn chưa được khai phá!

 

Nếu bạn quan tâm đến Github mà chưa biết bắt đầu từ đâu có thể tham khảo khóa học Git (Chỉ với 200.000đ có học online và offline): 

http://nukeviet.edu.vn/course/4/Quan-ly-ma-nguon-bang-GIT-Khoa-II/

 

Bạn vui lòng đọc các bài viết sau để trả lời rõ hơn tại sao bạn nên học và sử dụng Github:

http://nukeviet.vn/vi/news/nhom-phat-trien/NukeViet-da-hoan-tat-ke-hoach-chuyen-doi-kho-code-sang-Github-118/

http://wiki.nukeviet.vn/programming:vcs:git

Tác giả bài viết: Phạm Quốc Tiến

Nguồn tin: nukeviet.vn