2011-02-03 51 views
19

Github là một dịch vụ thực sự tuyệt vời. Tôi rất muốn hiểu kiến ​​trúc của họ là gì và chúng phù hợp với nhau như thế nào; cách họ lưu trữ các kho lưu trữ, cách họ truy cập kho lưu trữ để hiển thị nội dung tệp, cách họ xử lý hiển thị các khác biệt, v.v. Ai đó có thể cung cấp tổng quan về công nghệ và kỹ thuật họ sử dụng để tôi có thể nghiên cứu để mở rộng kiến ​​thức của mình ?Trang web github hoạt động như thế nào (kiến trúc)?

+5

Tại sao bạn không đặt câu hỏi này trên trang web github? Nó có nhiều khả năng github phát triển sẽ trả lời đúng câu hỏi của bạn chứ không phải là những người ngẫu nhiên ở đây trên SO ... –

Trả lời

8

Cốt lõi của Github là phần mềm nguồn mở git, là phần mềm quản lý mã nguồn và kiểm soát phiên bản được phân phối. Github thêm nhiều tính năng vào chức năng của git, bao gồm theo dõi vấn đề, wiki, kiểm soát truy cập, v.v.

Tuy nhiên, Github là phần mềm sở hữu độc quyền, và nhiều phần nội bộ vẫn chưa được công chúng biết đến.

Để tìm hiểu làm thế nào mảnh là phù hợp với nhau, tôi đề nghị sau khi dẫn dưới đây:

  • Github's official Engineering Blog, trong đó bao gồm một loạt các chủ đề của thiết kế của nền tảng này.
    • đặc biệt là this article, một tổng quan mở rộng được viết bởi Github CTO.
  • Projects that power Github, danh sách được sắp xếp chính thức của các dự án mã nguồn mở hỗ trợ Github. Dưới đây là một vài điểm nổi bật:
    • ray - web backend
    • Jekyll - Blog động cơ đằng sau Github Trang
    • elasticsearch - công cụ tìm kiếm
    • hubot - một bot chat cho tự động hóa nhiệm vụ
    • ace - trình chỉnh sửa mã dựa trên trình duyệt web
    • d3 - js lib cho biểu đồ và biểu đồ
    • resque - background works
  • GitLab, một giải pháp thay thế nguồn mở cho Github, cung cấp khá nhiều chức năng giống nhau.
    • Đọc mã nguồn của GitLab và bạn sẽ biết cách GitLab (và Github) hoạt động dưới mui xe.
    • GitLab Architecture Overview. Bài viết này chắc chắn là một điểm vào tốt.

tôi lấy trộm một sơ đồ bố trí hệ thống từ Gitlab Kiến trúc Tổng quan. Đặt cược bạn đã có được một cách thức hoạt động của gitlab từ sơ đồ này.

(Chắc chắn có rất nhiều sự khác biệt giữa Github và GitLab. Tuy nhiên, một dự án mã nguồn mở luôn tốt hơn cho những ai muốn học, phải không?)

GitLab system layout diagram

0

Chúng sử dụng Git là hệ thống kiểm soát phiên bản phân phối miễn phí và mã nguồn mở được thiết kế để xử lý mọi thứ từ các dự án nhỏ đến rất lớn với tốc độ và hiệu quả. xem https://git-scm.com.

Các vấn đề liên quan