Github là một công cụ hoàn hảo cho những ai là lập trình viên và đang phải quản lý rất nhiều dự án. Bài viết này Share301 sẽ giúp bạn hiểu rõ hơn về Github nhé!
- Các khái niệm cơ bản về Git và Github.
- Những lợi ích và tính năng nổi bật của Github.
- Hướng dẫn sử dụng Github đơn giản.
Mục Lục
1. Github là gì?
Git được hiểu là một hệ quản trị phiên bản được phát triển bởi Linus Torvalds.
Github được hiểu là một hệ thống quản lý tất cả dự án và bao gồm thêm phiên bản code dựa trên nền tảng web. Bạn có thể hình dung Github giống như một mạng xã hội dành cho các lập trình viên. Mà ở đó, mỗi người đều có thể clone lại mã nguồn từ một Repository. Và sau đó tạo ra các kho chứa cho riêng mình.
2. Lịch sử của GitHub
Github được viết bằng Ruby on Rails và Erlang bởi Tom Preston-Werner, Chris Wanstrath và PJ Hyett. Họ cùng nhau phát triển trang web được đưa ra và bắt đầu chạy chính thức vào tháng 4 năm 2008.
Tính đến tháng 3/2018, Github đã trở thành dịch vụ máy chủ lưu trữ các mã nguồn lập trình lớn nhất thế giới. Theo ước tính đã có hơn 25 triệu người dùng và 80 triệu mã nguồn dự án. Ở hiện tại, Github đã trở thành một phần không thể thiếu đối với cộng đồng phát triển mã nguồn mở. Cũng như đối với cộng đồng lập trình viên trên toàn cầu.
3. Tính năng của Github
Hiện tại, Github được xem là một trang mạng xã hội dành cho lập trình viên lớn nhất toàn cầu. Cùng với đó là yếu tố dễ dàng sử dụng với các tính năng cốt lõi sau:
- Wiki, issue, thống kê, đổi tên project và project đã được đặt vào namespace là user.
- Watch project: Đây là tính năng giúp bạn theo dõi hoạt động project từ người khác. Bên cạnh đó còn có thể xem quá trình người ta phát triển như thế nào, project phát triển ra sao.
- Follow user: Đây là tính năng giúp bạn theo dõi hoạt động của người khác.
4. Lợi ích của Github đối với lập trình viên
4.1 Quản lý source code dễ dàng
Khi bạn tạo được một Repo thì toàn bộ source code của Repo đó sẽ được lưu trữ trên Github. Và tại đây, bạn có thể coi lại toàn bộ quá trình mình đã làm việc thông qua các comment sau mỗi lần commit. Không chỉ như thế, nhiều người có thể cùng làm một Repo để source có khả năng phát triển theo nhiều nhánh.
4.2 Tracking thay đổi qua các version
Bạn sẽ có một lịch sử phiên bản để đề phòng trường hợp các phiên bản trước đó bị mất. Hoặc không thể lưu được. Github sẽ luôn lưu lại tất cả những thay đổi mà bạn đã push lên repository. Bạn có thể kiểm tra những ai đã thay đổi cái gì, khi nào và files được stored ở đâu.
4.3 Markdown
Markdown được hiểu là một cách dùng để định dạng text trên web. Trong Github, bạn có thể sử dụng Markdown ở những vị trí sau: Git, Comments tại Issues, Pull Requests hay các file có đuôi .md, .markdown extension.
4.4 Làm đẹp CV
Source Code luôn là minh chứng tốt nhất để cho thấy rằng bạn là một Developer thực thụ. Nếu bạn là người có nhiều đóng góp cho cộng đồng. Hoặc có nhiều sản phẩm trên Github. Đây sẽ là một lợi thế rất tốt so với các ứng cử viên khác. Vì bằng cách đăng những project của bản thân lên đây. Bạn đã tạo cho riêng mình một profile vô cùng tin cậy.
4.5 Cải thiện kỹ năng code
Github là một nơi không bao giờ giới hạn khả năng của bạn. Bạn luôn có vô vàn các cơ hội để tiếp xúc với open source project, contributors, commit luôn được cập nhật mỗi ngày. Xem xét, đối chiếu và học tập từ những thay đổi đó sẽ giúp bạn cải thiện kỹ năng viết code của mình.
4.6 Mở rộng mối quan hệ
Github là nơi mà hàng ngàn các developer đang tham gia. Tại đây, họ chia sẻ những kinh nghiệm cũng như ý tưởng tuyệt vời của họ. Không chỉ như thế, bạn còn có thể tìm thấy đồng nghiệp. Hay kể cả ông chủ tương lai của bạn.
4.7 Kho tài nguyên tuyệt vời
Với chức năng Explore, bạn có thể theo dõi cũng như tìm kiếm các dự án mã nguồn mở phù hợp với mô hình công nghệ bạn ưa thích. Github hỗ trẹo code search cho dù nó ở dạng một project biệt lập. Hay kể cả ở dạng website. Bên cạnh đó, ở nền tảng này cũng có SEO ổn định. Cho nên người dùng có thể tìm kiếm bất kỳ code string nào được chia sẻ công khai.
4.8 Github Action
Trên server của Github có những Workflow Scripts được chạy ở dạng tự động. Các Developer có thể sử dụng chúng để phản hồi các sự kiện trên repositories. Hoặc dùng thực hiện vài action.
4.9 Github Package Registry
Package Registry cho phép các lập trình viên có thể duy trì Distribution Registries của họ. Bao gồm các dạng npm, docker, maven nuget hay ruby gems.
5. Một số khái niệm cơ bản trên Git/GitHub
5.1 GitHub Repository
Có thể xem đây là bộ não của Github. Bởi vì Repository là nơi có thể lưu trữ và quản lý toàn bộ các dữ liệu như tập tin, thư mục, ảnh,… Không chỉ như thế, nó còn có thể thực hiện các thao tác sửa đổi và lịch sử toàn bộ dự án.
Có 2 loại Repository, bao gồm Local Repository và Remote Repository.
5.2 GitHub Snapshot
Việc muốn quay lại trạng thái cũ là chuyện thường xuyên diễn ra. Ở một số trang web khác, họ có thể lưu trữ dưới dạng dữ liệu gốc. Còn đối với Github thì tạo ra Snapshot – lưu lại tất cả nội dung tại thời điểm đó. Sau đó, tạo thêm tham chiếu tới Snapshot đó. Việc làm này có thể giúp Github tiết kiệm được không gian lưu trữ.
5.3 GitHub Commit
Commit được hiểu là một thao tác báo cáo cho hệ thống biết bạn muốn lưu trữ trạng thái hiện hành, ghi nhận lại tất cả các lịch sử xử lý. Các commit được ghi lại thời gian chỉnh sửa cũng như các khác biệt so với trạng thái trước đó. Và ở trạng thái hiện tại.
5.4 GitHub Clone
Đây là một điểm khác biệt của Github so với những hệ thống quản lý phiên bản mã nguồn khác. Clone có thể giúp bạn tái hiện ra một bản sao gần như hoàn hảo của Rep mà máy chủ đang lưu trữ. Ngoài ra, bạn cũng có thể quay lại toàn bộ thời điểm commit mà bạn muốn.
5.5 Push
Lệnh push được sử dụng dùng để đưa nội dung từ kho lưu trữ cục bộ lên server. Hiểu đơn giản, push là cách mà bạn chuyển giao các commit từ kho lưu trữ cục bộ lên server.
5.6 Fetch
Đây là một lệnh ngược lại so với push. Hiểu đơn giản, fetch chính là cách mà bạn chuyển giao các commit từ server về kho lưu trữ cục bộ.
5.7 Pull
Đối với lệnh pull, nó sẽ tự động lấy tất cả dữ liệu từ Repository trên server. Và sau đó sẽ gộp vào Branch mà bạn đang thao tác hiện tại.
5.8 GitHub Branch
Branch được xem là một điểm đặc biệt của Github. Từ đây, bạn có thể tách riêng từng tính năng của dự án. Từ nhánh chính, bạn có thể tạo ra các nhánh mới trong quá trình thực hiện. Dùng để thử nghiệm các tính năng mới hoặc dùng để khắc phục, chỉnh lỗi của dự án đó. Tất cả các nhánh sẽ được dự án lưu lại trong lịch sử commit giống như nhánh chính.
5.9 GitHub Fork Repository
Fork được hiểu là một thao tác dùng để thực hiện sao chép Repository từ một máy chủ khác về tài khoản của bản thân. Tại đây, bạn có thể sử dụng và đối xử như 1 Repository mà mình đã tạo ra.
6. Tính năng API của GitHub
Bên cạnh Git, thì Github còn hỗ trợ thêm tính năng API. Tính năng này sẽ giúp các lập trình viên, người dùng quản lý nguồn dữ liệu dễ dàng và hiệu quả hơn. Dưới đây là một số tính năng cơ bản của API:
- API giúp bạn cập nhật toàn bộ kho dữ liệu thông qua trang web Browser: Tại đây cho phép bạn chỉnh sửa các file source code thông qua mã http-post.
- API hỗ trợ người dùng đối chiếu code của dự án thông qua các commit, comments. Không chỉ thế, bạn cũng có thể đưa ra các lời nhận xét của mình thông qua trang web Browser.
- API còn cho phép người dùng đăng ký một đường link cho các kho lưu trữ của mình.
7. Hướng dẫn sử dụng Github
7.1 Cách tải GitHub trên Desktop
Để tải dự án từ Github, ta có 2 cách.
Cách 1: Bạn sẽ chọn Zip toàn bộ dự án và sau đó tải về.
Cách 2: Bạn có thể clone dự án về thông qua lệnh git. Bạn click vào “Clone or Download”. Sau đó, bắt đầu copy đường dẫn và gõ cửa sổ terminal trên máy tính như sau: git clone git@github.com:(đường dẫn mà bạn đã copy).git
7.2 Tạo một GitHub Repository
Để tạo 1 Github Repository, các bạn làm các thao tác sau:
- Đăng ký tài khoản Github thông qua cách click vào cụm “Sign up for Github”.
- Sau khi đăng ký cũng như kích hoạt hoàn tất. Bạn sẽ bắt đầu tạo 1 project với cụm “Start a new project”.
- Sau đó nhập tên Rep và ấn chọn “Create Repository”.
- Nếu đã có Repository, bạn có thể sử dụng clone, pull,… source của mình.
Lưu ý:
- Theo thiết lập mặc định, Rep có thể public. Có nghĩa là ai cũng có thể xem Rep này. Nếu muốn quản lý thì chọn Private.
- Bạn có thêm 1 readme life để giới thiệu kèm theo là 1 file .gitignore. Bên cạnh đó, Github cũng có sẵn template .gitignore cho bạn. Bạn chỉ cần chọn 1 template phù hợp với mã nguồn dự án của bạn là được.
7.3 Tạo branch
Để thực hiện tạo 1 branch trên Github, các bạn làm theo các thao tác sau:
- Nhấn chọn vào dropdown branch. Sau đó chọn Branch: master.
- Sau đó, danh sách các branch sẽ xuất hiện. Bạn có thể tạo thêm 1 branch mới.
7.4 Tạo GitHub Commit Command
Commit Command được hiểu là phương tiện cho phép bạn lưu lại những thay đổi của file. Khi bạn commit, bạn nên viết mô tả rõ ràng, cẩn thận trong commit message. Việc làm điều này sẽ giúp các bạn quản lý dự án hiệu quả hơn. Không chỉ như thế, bạn có thể theo dõi, review những source code sau này.
Để tạo 1 commit trên Github, bạn làm các thao tác sau:
- Chọn mà file mà bạn muốn sửa.
- Chọn mục edit và sửa file.
- Sau khi hoàn thành việc sửa file thì điền đầy đủ thông tin massage. Và nhấn chọn commit.
7.5 Pull Command
Pull Command được xem là lệnh quan trọng nhất trên Github. Lệnh này cho phép bạn biết những thay đổi trong source code. Bên cạnh đó, nó cũng yêu cầu các owner xem xét và merge vào master branch.
Tính năng này rất hay đối với các dự án mã nguồn mở. Khi mà ở đó bất kỳ ai cũng có thể đóng góp công sức cho dự án. Tuy nhiên mọi sự thay đổi phải được sự cho phép từ Owner. Chi tiết lệnh pull bao gồm:
- Lệnh pull request: Đây là lệnh yêu cầu các chủ Owner phải xem xét một sự thay đổi nào đó trước khi merge vào master branch.
- Lệnh Pull: Đây được hiểu là lệnh của git. Đây là loại lệnh update source từ server về kho lưu trữ cục bộ. Tuy nhiên, nếu có bất kỳ sự xung đột code nào thì bạn bắt buộc phải resolve nó.
7.6 Merge command
Merge Command được hiểu là loại lệnh cho phép bạn hợp nhất tất cả những thay đổi vào chứng 1 branch.
Để thực hiện lệnh này, các bạn cần làm các thao tác sau:
- Chọn vào “Merge pull request” để bắt đầu hợp nhất những thay đổi vào master branch.
- Chọn vào ” Confirm Merge”.
8. Mức phí trên GitHub
Github có 2 loại, bao gồm bản miễn phí và có phí.
Thông thường chúng ta sẽ sử dụng Github miễn phí để lưu trữ các source code.
Còn đối với bản có phí, phần lớn các doanh nghiệp sẽ dùng để tăng khả năng quản lý team cũng như phân các quyền bảo mật dự án.
Tính tới tháng 9/2019, giá Github cụ thể như sau:
- Github Individuals: Đây là bản Github cá nhân có giá giao động từ 0 – 7$. Khi sử dụng gói 7$ bạn sẽ được trải nghiệm nhiều tính năng hơn so với bản miễn phí. Chẳng hạn như Draft pull requests, Repository Insights,… Và rất tính năng khác.
- Github Team: Đối với bản này có giá từ 9$ trở lên. Mức giá cao hay thấp sẽ phụ thuộc vào mô hình doanh nghiệp của bạn. Họ sẽ liên lạc và thực hiện báo cáo cho bạn. Ở mức giá càng cao thì tính năng của Github càng toàn diện.
9. Lời kết
Bài viết ở trên đã giúp các bạn hiểu được Github là gì. Đồng thời cũng giới thiệu thêm cho các bạn các tính năng cũng như một số khái niệm cần phải nắm. Hy vọng sau bài viết này sẽ giúp các bạn sử dụng Github một cách hiệu quả hơn !
Xem thêm: