Cơ bản về Git. Github - mạng xã hội của lập trình viên (p1)
Nếu đã là một lập trình viên, sớm hay muộn bạn cũng phải làm quen với khái niệm version control - quản lý phiên bản. Vậy quản lý phiên bản là gì? quản lý phiên bản như thế nào? Mình sẽ cùng tìm hiểu trong nội dung bài viết này.
Bạn hãy tưởng tượng một viễn cảnh như sau: bạn đang viết 1 app mobile. Một ngày bạn bỗng nghĩ ra một chức năng vô cùng thú vị cho app và muốn áp dụng ngay cho app của mình, nhưng lỡ bạn viết bị lỗi và app không chạy được, bạn sẽ làm gì? Tìm và fixbug chăng? Nếu như ý tưởng đó dài vài chục, hoặc vài trăm dòng code thì sao?
Có thể trước khi áp dụng chức năng đó cho app của bạn, bạn đã nghĩ ngay đến việc sao lưu lại code cũ để "nhỡ" làm cái mới bị lỗi thì bỏ đi rồi lấy lại cái cũ cho lẹ. Bạn thường làm gì cho việc này? Trước khi làm quen với version control thì cách của mình là ... nén project đó lại với winrar.
Hoặc một viễn cảnh xa hơn nữa, bạn muốn một cộng sự làm chung project này với mình. Và 2 người không ở gần nhau để có thể thảo luận mọi lúc. Có lẽ mọi việc sẽ đơn giản hơn nếu 2 người làm quen với khái niệm Git.
Có lẽ mình sẽ bỏ qua phần "chào hỏi" như Git là gì (dĩ nhiên là 1 version control), nó có những đặc điểm gì, có lợi gì, tại sao phải dùng nó...và đi thẳng vào cách sử dụng nó.
Bạn cần gì?
Git chỉ là 1 khái niệm dùng để chỉ việc quản lý phiên bản. Vậy để quản lý phiên bản cần có những gì, đó là 3 thứ quan trọng sau đây:
Dĩ nhiên, và cần thiết nhất chính là source code.
Git client, chính là tool để bạn sử dụng ngay trên máy của mình cho các công việc. Bạn có thể dùng command line hoặc GUI, nhưng mình khuyên các bạn là nên dùng command line để dễ hiểu được bản chất của việc mình đang làm. Các bạn cũng có thể sử dụng đồng thời với giao diện đồ họa để tăng tính trực quan khi "upload" hoặc "download" source code. GUI tool đề nghị là Tortoise Git.
Git server (github, bitbucket...) chính là nơi bạn dùng để lưu trữ phiên bản (source code) của mình. Trong phạm vi bài viết mình sẽ sử dụng Github, nó được ví như là mạng xã hội của các lập trình viên.
Vì vậy, các công việc cần phải chuẩn bị là:
Một số khái niệm sẽ được nhắc tới trong quá trình làm ví dụ minh họa. Và bây giờ bắt đầu....
Thiết lập cài đặt cho Git client. SSH key là gì?
Quá trình cài đặt Git client rất đơn giản nên mình sẽ không nhắc tới. Sau khi cài đặt xong, các bạn mở git bash lên (giao diện command line giống với cmd).
.png)
Việc đầu tiên là thiết lập user và email cho Git client. Nhập lệnh sau vào git bash
git config --global user.name your-name
your-name chính là tên của bạn, sau đó nhấn Enter. Tiếp tục nhập lệnh sau:
git config --global user.email your-email
Nhập email mà bạn đã dùng để đăng ký github vào đây và nhấn enter.
Xong bước thiết đặt cho git client, bước tiếp theo cũng quan trọng không kém, đó chính là tạo ssh key.
We strongly recommend using an SSH connection when interacting with GitHub. SSH keys are a way to identify trusted computers, without involving passwords. The steps below will walk you through generating an SSH key and then adding the public key to your GitHub account.
Hiểu nôm na, ssh key chính là chìa khóa để git client giao tiếp với github. Các bước tạo ssh key bạn có thể tham khảo tại đây.
tóm tắt lại các bước như sau:
Hiển nhiên nếu bạn đã tạo ssh key thì bạn chắc hẳn không phải là người dùng mới, cho nên mình sẽ bỏ qua trường hợp đã tạo ssh key rồi (tuy nhiên dù tạo rồi hay chưa tạo cũng giống nhau cả). Tiếp tục sử dụng git bash và nhập vào lệnh:
ssh-keygen -t rsa -C "your_email@example.com"
email chính là email tạo tài khoản của bạn. Có thể bỏ qua dấu ngoặc kép " ". Sau khi nhập và bấm Enter, Git bash sẽ hỏi bạn một loạt câu hỏi và bạn chỉ cần ấn Enter mà không cần quan tâm nó hỏi gì hết.
Mở thư mục theo đường dẫn C:\Users\[tên người dùng]\.ssh\ các bạn sẽ thấy 2 file như sau:
Bạn hãy mở file id_rsa.pub (public key) bằng text editor và copy toàn bộ nội dung trong đó.
Vào link sau để thêm ssh key
Click Add SSH key, nhập tiêu đề và dán nội dung của key vừa copy trước đó vào.
.png)
Tới đây thì đã xong phần thiết lập cài đặt của Git. Mình sẽ tiếp tục phần sử dụng git ở một bài khác.
Comments
Post a Comment