Chắc hẳn trong quá trình sử dụng Visual Studio làm việc nhóm, bạn đã từng nghe qua TFS. Vậy bạn đã từng nghe qua Github chưa? GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ một repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc.
Github là gì?
GitHub là một dịch vụ nổi tiếng cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm. Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tính năng về social để các developer tương tác với nhau.
Vài thông tin về GIT:
- Là công cụ giúp quản lý source code tổ chức theo dạng dữ liệu phân tán.
- Giúp đồng bộ source code của team lên 1 server.
- Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, …)
GitHub có 2 phiên bản: miễn phí và trả phí. Với phiên bản có phí thường được các doanh nghiệp sử dụng để tăng khả năng quản lý team cũng như phân quyền bảo mật dự án.
Còn lại thì phần lớn chúng ta đều sử dụng Github với tài khoản miễn phí để lưu trữ source code.
Github trở thành một yếu tố có sức ảnh hưởng lớn trong cộng động nguồn mở. Cùng với Linkedin, Github được coi là một sự thay thế cho CV của bạn. Các nhà tuyển dụng cũng rất hay tham khảo Github profile để hiểu về năng lực coding của ứng viên.
Giờ đây, kỹ năng sử dụng git và Github từ chỗ ưu thích sang bắt buộc phải có đối với các ứng viên đi xin việc.
Một vài khái niệm của Git bạn cần nắm
- git: là prefix của các lệnh được sử dụng dưới CLI
- branch: được hiểu như là nhánh, thể hiện sự phân chia các version khi 2 version đó có sự sai khác nhất định và 2 version đều có sự khác nhau.
- commit: là một điểm trên cây công việc (Work Tree ) hay gọi là cây phát triển công việc
- clone: được gọi là nhân bản, hay thực hiện nhân bản. Sử dụng để clone các project, repository trên các hệ thống chạy trên cơ sở là git, ví dụ như: bitbucket, github, gitlab, cor(1 sản phẩm mã nguồn mở cho phép người dùng tự tạo git server cho riêng mình trên vps, server),… Việc clone này sẽ sao chép repository tại commit mình mong muốn, dùng để tiếp tục phát triển. Thao tác này sẽ tải toàn bộ mã nguồn, dữ liệu về máy tính của bạn.
- folk: Folk là thao tác thực hiện sao chép repository của chủ sở hữu khác về git account của mình. sử dụng và đối xử như 1 repository do mình tạo ra.
- repository: Kho quản lý dữ liệu, là nơi lưu trữ các dữ liệu, mã nguồn của project.
- tag: sử dụng để đánh dấu một commit khi bạn có quá nhiều commit tới mức không thể kiểm soát được.
- remote: sử dụng để điều khiển các nhánh từ một repository trên git server, đối xử với các nhánh trên remote tương tự như đối xử với các nhánh trên local
- diff: So sánh sự sai khác giữa phiên bản hiện tại với phiên bản muốn so sánh, nó sẽ thể hiện các sự khác nhau
- .gitignore: file mặc định của git sử dụng để loại bỏ (ignore) các thư mục, file mà mình không muốn push lên git server
Bài viết dưới đây sẽ hướng dẫn bạn sử dụng github để làm việc nhóm trên Visual Studio.
Kết nối đến tài khoản GitHub từ Visual Studio
- Mở dự án cần đưa vào Git trong Visual Studio (bài viết này dùng VS 2017)
- Chọn File > Add to Source Control
- Chọn View > Team Explorer, cửa sổ Team Explorer xuất hiện
- Chọn Sync, tại mục Push to Remote Repository chọn Publish Git Reposity
- Xuất hiện yêu cầu nhập URL của một Repo từ xa (tức Repo trên GitHub)
- Với yêu cầu này thì chúng ta phải tạo một Repository rỗng trên tài khoản GitHub của chúng ta. Mở tài khoản GitHub và tạo một Repository mới tên WebShop (trùng tên với dự án) và rỗng, tức là chưa khởi tạo một tập tin README
- Sao chép đường dẫn đến Repository này bằng cách nhấn nút Code và Copy dòng link bên dưới
- Dán đường dẫn này đến mục Push to Remote Repository
- Nhấn Publish. Nếu chúng ta tạo một Repo rỗng, tức là chưa khởi tạo README, thì việc xuất bản đến GitHub là ổn. Tuy nhiên, trong trường hợp chúng ta tạo Repo chứa tập tin README thì có thể xảy ra lỗi như sau:
Trong Team Explorer, tìm đến Manage Connections:
- Chọn và nhấn chuột phải vào dự án của chúng ta (WebShop) và chọn Open Command Prompt
Trong hộp thoại Command gõ dòng lệnh
git push origin master --force
Như vậy chúng ta đã chia sẻ thành công dự án đến một Repo trên GitHub.