Loading...

1. Github là gì:

Github http://github.com, còn được gọi là social network dành cho developer đi vào hoạt động tháng 2 năm 2008, là một dịch vụ sử dụng hệ thống quản lý phân tán GIT giúp người dùng lưu trữ source code cho các dự án. Tính năng của GIT như bài trước mình đã nói, nó có mọi tính năng của một source control như SVN và hơn thế nữa.

Github được viết bằng Ruby on Rails. GitHub cung cấp dịch vụ thương mại và cả tài khoản miễn phí cho các dự án nguồn mở. Theo khảo sát của người sử dụng Git vào năm 2009, Github hiện đang là server Git lưu trữ source code phổ biến nhất hiện nay (Ngoài ra, Gitorious http://gitorious.org cũng là server Git hoạt động giống Github được chú ý đến).

439000 developer tạo hơn 1 triệu 350 ngàn repositories là một con số khá ấn tượng, cùng với một số khách hàng lớn của github như Twitter, Facebook, Yahoo … cho thấy tính phổ biến của Github, cũng như cộng đồng lập trình thế giới tính nhiệm nó như thế nào.

2. Tính năng API của Github:

Ngoài những tính năng tuyệt vời của hệ thống quản lý source phân tán GIT nói chung (Chúng ta sẽ nói ở một bài cụ thể khác), Github còn hỗ trợ người dùng những tính năng quan trọng thông qua API sau:

1) API to Update The Repository via HTTP: GitHub hỗ trợ người dùng có thể edit file source code từ web browser thông qua HTTP – POST

2) API to Access Compare Views (Giới thiệu chức năng Compare Views https://github.com/blog/612-introducing-github-compare-view): Tính năng này hỗ trợ người dùng review và so sánh code của dự án thông qua việc xem các commit, comments, các dòng khác nhau giữa 2 version của file code … Tính năng này cũng thông qua HTTP – POST, người dùng có thể thực hiên trên web browser.

3) API to Manage Service Hooks: GitHub hỗ trợ tính năng mở rộng post-receive hooks http://help.github.com/post-receive-hooks. Tính năng này cho phép người dùng đăng ký 1 URL của mình (như là một web hook) cho các respository. Bất cứ khi nào có người push source code của họ lên repository, GitHub thông báo cho bạn biết bằng cách POST thông tin (dạng JSON) về lần push đó đến URL mà bạn đã đăng ký trước đó. Còn rất nhiều API hữu ích khác, các bạn có thể xem tất cả tại đâyhttp://develop.github.com

3. Cách thức làm việc với GitHub:

Làm việc với GitHub nói riêng hay hệ thống GIT nói chung có 2 workflow chính là local workflow và server workflow.

Bạn có thể làm mọi chuyện thay đổi source code ở local, sau khi đã thay đổi xong, bạn sẽ commit nhưng thay đổi đó lên server và bản lên server phải là bản hoàn chỉnh một tính năng nào đó, hoặc fix bug xong, test xong hoặc ít nhất bản đó phải chạy được. Không được commit code dở dang, chưa qua test lên repository server sẽ làm ảnh hưởng đến các thành viên khác, ngược lại bạn có thể làm điều đó ở repository local (Bạn cũng có thể tạo một branch ở server cho việc commit code dở dang hay tính năng chưa hoàn thành như từng làm với SVN, nó sẽ chiếm space ở server cũng như làm mất thời gian của bạn vào việc tương tác kết nối với server, vậy tại sao không commit nó lên repository local nhỉ, vừa nhanh thao tác lại không mất space của server.)

Mở rộng: từ repository của github ta có thể theo phương thức của Git tạo bản build cho production site (trên đây cũng là một repository server) bằng cách push thay đổi (đã qua test kỹ càng) lên nó. Khi tương tác với repository server (cập nhật hay thay đổi) GITHUB đòi hỏi mã chứng nhận "Bạn là ai" thông qua so sánh SSH key ở local của bạn và SSH key trên server tương ứng với account mà bạn đã đăng ký với GITHUB trước đó.

1) Làm việc với repository ở local: với 2 command thường dùng là git add và git commit

git add: add file đã thay đổi vào stage git commit: commit các file đã add vào stage lên repository ở local Ngoài ra bạn xem một số command khác

2) Làm việc với repository ở server github:

Sau khi đã quậy tè le ở local , cuối cùng khi có một bản ổn định và hoàn tất (có thông qua test) ta sẽ quyết định cập nhật nó lên repository server với: -push: push thay đổi từ repository local lên repository server -fetch: cập nhật thay đổi từ repository server về repository local -pull/rebase: sao chép source code từ server về local workspace (tương đương checkout của SVN)

4. Hướng dẫn sử dụng:

1) Đăng ký tài khoản GitHub tại http://github.com

2) Download và cài đặt công cụ Git:

Download tại đây http://git-scm.com/download có 3 phiên bản cho cả 3 HDH, Khi Cài đặt Git: Bạn nên chọn "Run Git From the Windows Command Prompt"

3) Tạo SSH Key:

SSH Key là một mã chứng nhận để bạn có quyền thao tác trên repository của GitHub, SSH Key sẽ mang tất cả thông tin về account của bạn. SSH Key này được tạo ra trên local máy của bạn và được chính bạn add vào GitHub. Khi bạn push source code của mình lên repository server, GitHub sẽ kiểm tra SSH key ở local của bạn và SSH key trên server của nó (mà bạn đã add trước đó) có giống nhau không. Nếu giống nhau nó xác nhận bạn có quyền thao tác trên repository server. Một account GitHub có thể có nhiều SSH Key trên server.

Cách tạo SSH Key chứng nhận như sau: Mở Git Bash đã được cài đặt ở trên:

  • Step1: $ ssh-keygen -t dsa : khởi tạo SSH key
  • Step 2: Chọn đường dẫn cho file SSH key: C:/Users/your_computer_name/.ssh/id_dsa
  • Step 3: Nhập một password của bạn (nhập 2 lần)
  • Step 4: Bạn đã tạo key thành công key sẽ nằm tại địa chỉ C:/Users/your_computer_name/.ssh/id_dsa
  • Step 5: Add SSH Key local vào server GitHub: Đến địa chỉ file SSH key mà bạn đã tạo, mở file id_dsa.pub và copy tất cả nội dung key trong đó

Add key vừa copy đó vào account GitHub tại https://github.com/account :

Khi bạn tương tác với server của GitHub, nó sẽ kiểm trra SSH key mà bạn đã thêm vào tài khoản của mình (hình trên) vơis SSH key trong file local mà bạn đã tạo ban đầu C:/Users/your_computer_name/.ssh/id_dsa Paste nội dung file SSH key ở local vào text field Key. Như vậy ta đã xong phần đăng ký SSH key (dĩ nhiên là bạn phải giữ private SSH key này nhé)

4) Tạo repository cho project mới trên GitHub tại https://github.com (sau khi bạn đăng nhập)

Nhập thông tin của repository project của bạn:

Tạo thành công bạn sẽ có giao diện web quản lý repository của bạn trên GitHub như sau:

Lưu ý link URL của Git trong trang này rất quan trọng, nó giống link SVN mà bạn hay dùng để có thể thực hiện các thao tác lên source code server như: checkout, update, commit …

5) Khởi động với Git command line trên local:

Step 1: Cấu hình thông tin của bạn: git config –global user.name "HTVSOpenProject" git config –global user.email lThis email address is being protected from spambots. You need JavaScript enabled to view it.

Step 2: Thao tác trên local

Ta làm một ví dụ nhỏ, tạo một thư mục cho project trên local và 1 file text readme, nhiệm vụ của chúng ta là đưa file này lên repository server mà ta đã tạo ở trên

  • Tạo thư mục cho project : mkdir YOUR_PATH
  • Di chuyển đến thư mục vừa tạo: cd YOUR_PATH
  • Khởi tạo GIT cho thư mục này: git nit
  • Thêm file readme.txt vào "working stage" (lưu ý readme.txt này bạn đã tạo trước đó trong thư mục YOUR_PATH): git add readme.txt
  • Commit nó lên repository local của bạn: git commit -m "YOUR_COMMENT"

Step 3: Thao tác với GIT server (hình trên)


Read more: http://hocthietkeweb.org/github-la-gi-huong-dan-su-dung-svn-de-code-du-an-nhieu-nguoi-o-xa-khong-cung-dia-diem/#ixzz2w6tsR2TK

Theo học thiết kế web

Ý kiến của bạn

Mã bảo vệ
Làm mới

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Bài xem nhiều nhất

Tự học lập trình C - Bài 1: Một số khái niệm cơ bản

Khái niệm tên rất quan trọng trong quá trình lập trình, ...

Tự học lập trình JAVA – Bài 1: Bước đầu với Java

Một chương trình java có thể được định nghĩa như là một ...

Tự học lập trình C - Bài 10: Mảng một chiều

Mảng 1 chiều là tập hợp các phần tử có cùng kiểu dữ ...

MySQL – Bài 8: Khóa chính (primary key) và khóa ngoại (foreign key) của table

Với ràng buộc này thì, việc người sử dụng vô tình hay cố ...

Hướng dẫn in ấn trong Word 2007/2010 – Step by Step

[Tự học] - Tiêu đề đầu trang (Header)/tiêu đề cuối ...

Tự học lập trình C - Bài 2: Cấu trúc chương trình C

Một chương trình bao gồm một hoặc nhiều hàm, mỗi hàm ...

Tự học lập trình Assembly - Bài 1: Bước đầu với lập trình Assembly trên vi xử lý Intel 8086/8088

Như đã biết, lệnh ngôn ngữ máy là một dãy các con số 0, ...

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Về đầu trang Hỏi - Đáp