Sự khác biệt giữa Git và GitHub


280

Gần đây tôi đã thêm một dự án mới vào Git bằng Eclipse, nhưng không thấy dự án xuất hiện trong tài khoản GitHub của tôi.

Tại sao họ có cùng thông tin tài khoản và các kho khác nhau?

Không phải Git và GitHub giống nhau sao?



Câu trả lời:


366

Git là một hệ thống kiểm soát sửa đổi, một công cụ để quản lý lịch sử mã nguồn của bạn.

GitHub là một dịch vụ lưu trữ cho kho Git.

Vì vậy, chúng không giống nhau: Gitcông cụ , GitHubdịch vụ cho các dự án sử dụng Git .

Để lấy mã của bạn đến GitHub, hãy xem tại đây .


22
Đáng chú ý nhất, GitHub là hệ quả của sự tồn tại của git và không phải là dịch vụ lưu trữ duy nhất.
Jonas Schäfer

83
Ngoài ra, bạn không phải sử dụng dịch vụ từ xa như github nếu tất cả những gì bạn muốn là kiểm soát phiên bản - git cục bộ chỉ phù hợp với điều đó. Các kho lưu trữ từ xa là để sao lưu và cộng tác.
Thilo

3
Lưu ý rằng bạn có thể tạo một kho lưu trữ git từ xa trong nhiều máy chủ web như webfaction vs heroku. Cấu hình github đó khó hơn một chút, nhưng rẻ hơn cho các đội lớn.
Adrian Lopez

1
kiểm tra so sánh này để biết thêm về Git Hosting Services. git-tower.com/blog/git-hosting-services-compared
Junaid

Tôi nghĩ rằng việc sử dụng các từ "công cụ" và "dịch vụ" là mơ hồ đối với những người không quen thuộc với vấn đề này (tức là mọi người đang đặt câu hỏi này). Có lẽ "Git là một công nghệ để quản lý mã nguồn, trong khi GitHub là một trong nhiều sản phẩm cung cấp git như một dịch vụ cho mã bạn lưu trữ với chúng."
Rashad Saleh

68

Trong tương tự SVN, Git thay thế SVN, trong khi GitHub thay thế SourceForge: P

Nếu dự án này của bạn là mới, thì bạn vẫn có thể cam kết với Git cục bộ của mình, sau đó bạn có thể đẩy sang GitHub sau này. Bạn sẽ cần thêm repo GitHub của mình làm 'kho lưu trữ từ xa' trong thiết lập Git của mình.

Họ dường như có một cái gì đó cho người dùng Eclipse: http://eclipse.github.com/

Mặt khác, nếu bạn chưa quen với Git: http://git-scm.com/book


Sự thay thế cho việc sử dụng GITHUB trực tuyến là gì?
biến

@variable Bạn có nghĩa là một cái gì đó như kho lưu trữ Git cục bộ hoặc máy chủ Git tự lưu trữ như GitLab?
bakkal

65

Git là gì :

"Git là một hệ thống kiểm soát phiên bản phân tán mã nguồn mở và miễn phí đượ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ả"

Git là một hệ thống kiểm soát phiên bản ngang hàng phân tán. Mỗi nút trong mạng là một mạng ngang hàng, lưu trữ toàn bộ kho lưu trữ cũng có thể hoạt động như một bản sao lưu phân tán đa nút. Không có khái niệm cụ thể về máy chủ trung tâm mặc dù các nút có thể không có đầu hoặc 'trần', đảm nhận vai trò tương tự như máy chủ trung tâm trong các hệ thống kiểm soát phiên bản tập trung.

GitHub là gì :

"GitHub là dịch vụ lưu trữ kho Git dựa trên web , cung cấp tất cả các chức năng kiểm soát sửa đổi và quản lý mã nguồn (SCM) của Git cũng như thêm các tính năng riêng của nó."

Github cung cấp kiểm soát truy cập và một số tính năng cộng tác như wiki, quản lý tác vụ và theo dõi lỗi và yêu cầu tính năng cho mọi dự án.

Bạn không cần GitHub để sử dụng Git.

GitHub (và bất kỳ hệ thống cục bộ, từ xa hoặc lưu trữ nào khác) đều có thể là đồng nghiệp trong cùng một kho lưu trữ được phân phối phiên bản trong cùng một dự án.

Github cho phép bạn:

  • Chia sẻ kho của bạn với người khác.
  • Truy cập kho lưu trữ của người dùng khác.
  • Lưu trữ các bản sao từ xa của kho lưu trữ của bạn (máy chủ github) để sao lưu các bản sao cục bộ của bạn.

cho tôi biết tại sao git được gọi là phân phối? chỉ vì thay đổi cửa hàng git trong pc cục bộ? xin vui lòng làm rõ ý nghĩa từ phân tán này bởi vì tôi mới biết đến git. cảm ơn
Mou

1
Bạn có cần Git để sử dụng GitHub không?
dùng3187724

25

Git - Công cụ kiểm soát phiên bản mà GitHub được xây dựng trên đầu trang.

GitHub - Công ty của chúng tôi và tên của phần mềm của chúng tôi. Chúng tôi xây dựng phần mềm và trang web để giúp bạn tương tác với kho Git một cách tốt đẹp.

GitHub.com - Trang web bạn đăng nhập để xem các kho lưu trữ trực tuyến.

GitHub Desktop - Một ứng dụng mà bạn có thể cài đặt trên máy tính của mình để giúp bạn đồng bộ hóa mã cục bộ với GitHub.com.

nguồn: https://guides.github.com/intributiontion/getting-your-project-on-github/


15

Có một số khác biệt rõ ràng giữa Git và GitHub .

Bản thân Git thực sự tập trung vào các nhiệm vụ thiết yếu của kiểm soát phiên bản. Nó duy trì một lịch sử cam kết, nó cho phép bạn đảo ngược các thay đổi thông qua các lệnh đặt lạihoàn nguyên và cho phép bạn chia sẻ mã với các nhà phát triển khác thông qua các lệnh đẩy và kéo. Tôi nghĩ đó là những tính năng thiết yếu mà mọi nhà phát triển muốn từ một công cụ DVCS.

Biểu đồ so sánh Git so với GitHub

Không có phạm vi leo với Git

Nhưng một điều về Git là nó thực sự chỉ là laser tập trung vào kiểm soát mã nguồn và không có gì khác. Điều đó thật tuyệt vời, nhưng nó cũng có nghĩa là công cụ này thiếu nhiều tính năng mà các tổ chức muốn. Ví dụ: không có phương tiện quản lý người dùng tích hợp để xác thực ai đang kết nối và cam kết mã. Tích hợp với những thứ như Jira hoặc Jenkins được dành cho các nhà phát triển để tìm ra những thứ như móc nối. Về cơ bản, có rất nhiều nơi mà các tính năng có thể được tích hợp. Đó là nơi các tổ chức như GitHub và GitLab đến.

Các tính năng GitHub bổ sung

'Giá trị gia tăng' chính của GitHub là nó cung cấp nền tảng dựa trên đám mây cho Git. Điều đó tự nó là tuyệt vời. Trên hết, GitHub cũng cung cấp:

  • theo dõi nhiệm vụ đơn giản
  • một ứng dụng máy tính để bàn GitHub
  • chỉnh sửa tập tin trực tuyến
  • quy tắc bảo vệ chi nhánh
  • tính năng yêu cầu kéo
  • công cụ tổ chức
  • giới hạn tương tác cho hothead
  • hỗ trợ biểu tượng cảm xúc !!! : octocat :: +1:

Vì vậy, GitHub thực sự bổ sung thêm sự đánh bóng và sàng lọc cho một công cụ DVCS đã phổ biến.

Đối thủ cạnh tranh Git và GitHub

Đôi khi, khi nói đến sự khác biệt giữa Git và GitHub, tôi nghĩ thật tốt khi nhìn vào người mà họ cạnh tranh. Git cạnh tranh trên máy bay với các công cụ như Mercurial, Subversion và RTC, trong khi GitHub có nhiều hơn trong không gian SaaS cạnh tranh với các nhà cung cấp đám mây như GitLab và Atlassian's BitBucket.

Không cần GitHub

Một điều tôi luôn muốn nhắc nhở mọi người là bạn không cần GitHub hoặc GitLab hoặc BitBucket để sử dụng Git. Git được phát hành vào năm 2005? GitHub đã không xuất hiện cho đến năm 2007 hoặc 2008, vì vậy các tổ chức lớn đã thực hiện kiểm soát phiên bản phân tán với Git từ lâu trước khi các nhà cung cấp dịch vụ lưu trữ đám mây xuất hiện. Vì vậy, Git là tốt trên chính nó. Nó không cần một dịch vụ lưu trữ đám mây để có hiệu quả. Nhưng đồng thời, có một nhà cung cấp PaaS chắc chắn không bị tổn thương.

Làm việc với máy tính để bàn GitHub

Nhân tiện, bạn đã đề cập đến sự không phù hợp giữa các kho lưu trữ trong tài khoản GitHub của bạn và các repos bạn có tại địa phương? Nó có thể hiểu được. Cho đến khi bạn đã kết nối và thực hiện thao tác kéo hoặc tìm nạp, repo Git cục bộ không biết về repo GitHub từ xa. Phải nói rằng, GitHub cung cấp một công cụ được gọi là máy tính để bàn GitHub cho phép bạn kết nối với GitHub từ máy khách để bàn và dễ dàng tải repos Git cục bộ vào GitHub hoặc đưa repos GitHub vào máy cục bộ của bạn.

Máy tính để bàn GitHub

Tôi không quá ấn tượng với công cụ này, vì một khi bạn biết Git, những điều này không khó thực hiện trong vỏ Bash, nhưng đó là một lựa chọn.

Cuộc chiến giữa Git và GitHub


9

Nói một cách đơn giản, chúng ta có thể biết dưới đây là sự khác biệt giữa git và git hub và VSTS.

git : - Coi git như một công cụ / công nghệ để đạt được kiểm soát phiên bản nguồn cho dự án của chúng tôi. Không giống như TFS (một lần nữa kiểm soát phiên bản nguồn tập trung) git là công nghệ kiểm soát phiên bản phân tán. Điều đó có nghĩa là git nó thực sự không bắt buộc phải có bất kỳ máy chủ nào. Thông qua công nghệ git, chúng tôi có thể tạo ra máy cục bộ của riêng mình như một kho lưu trữ mã nguồn không bắt buộc phải có máy chủ tập trung luôn (ở quy mô lớn, máy chủ Microsoft có thể đẩy và giữ mã nguồn dự án của chúng tôi). Nhưng với điều khiển phiên bản loại SVN và TFS, bắt buộc máy chủ phải được liên kết với nó.

Ví dụ: nếu tôi là nhà phát triển tự do và tôi trực tiếp báo cáo cho khách hàng của mình và không có nhà phát triển nào khác tham gia, tôi cần giữ quyền kiểm soát phiên bản mã của mình để quay lại (bất kỳ phiên bản nào) và cam kết mã của tôi và tôi không có ngân sách để có máy chủ và tôi không có thời gian để cài đặt và sử dụng máy chủ khác trong máy của mình làm máy chủ TFS và máy khách TFS. Vì vậy, cách tối ưu là cài đặt công cụ git và sử dụng máy cục bộ của tôi làm kho lưu trữ cho phiên bản do git kiểm soát.

GitHub : - như tôi đã nói trước đây git là một công nghệ và được sử dụng với một số lệnh lệnh / shell, tức là git chỉ không có UI. GitHub là sản phẩm trực tuyến hoặc kho lưu trữ trực tuyến sử dụng công nghệ git cho quy trình của họ và đạt được các kiểm soát phiên bản cùng với các chức năng khác như theo dõi lỗi, Quản lý dự án, Quản lý vé hỗ trợ ..v.v. Nói cách khác, Git Hub là công cụ bao bọc dựa trên công nghệ git với giao diện người dùng và các chức năng khác của công ty bên thứ ba khác, nó thực sự là sản phẩm thuộc sở hữu của ai đó hoặc một nhóm nào đó dựa trên công nghệ git, vì git là nguồn mở và không bán được sản phẩm.

VSTS : - VSTS là một sản phẩm của Microsoft để lưu trữ trực tuyến kiểm soát phiên bản nguồn có thể được coi là một thay thế cho trung tâm git. Kể từ Microsoft, VSTS hỗ trợ cả công nghệ git và TFS (kiểm soát phiên bản nền tảng nhóm TFVC). Bởi vì TFS là một sản phẩm cũ khác của Microsoft để đạt được kiểm soát phiên bản này. Nói chung, tôi cho rằng VSTS sẽ dần dần bỏ TFS vì git là công nghệ nổi bật trong lĩnh vực này và nó là nguồn mở.


7

Bằng tiếng Anh đơn giản:

  1. Họ đều kiểm soát nguồn như chúng ta đều biết.
  2. Tương tự, nếu Git là một máy tính độc lập, thì GitHub là một mạng lưới các máy tính được kết nối bởi web với chuông và còi.
  3. Vì vậy, trừ khi bạn mở acct GitHub và đặc biệt nói với VSC hoặc bất kỳ biên tập viên nào sử dụng GitHub, bạn sẽ thấy mã nguồn của mình ở trên đó nếu không chúng chỉ ở đây, - máy cục bộ của bạn.

0

Git- Git là phần mềm kiểm soát phiên bản mà bạn cài đặt trên hệ thống cục bộ của mình. Đối với một cá nhân làm việc trên một dự án một mình, Git chứng tỏ là phần mềm tuyệt vời.

GitHub- Như đã đề cập trước đó, Git là một hệ thống kiểm soát phiên bản theo dõi các thay đổi mã, trong khi GitHub là dịch vụ lưu trữ kiểm soát phiên bản Git dựa trên web. Nó cung cấp tất cả các chức năng kiểm soát phiên bản phân phối và quản lý mã nguồn (SCM) của Git trong khi đứng đầu nó với một vài tính năng riêng của nó.


0

Nói một cách đơn giản, Git là một hệ thống kiểm soát phiên bản cho phép bạn quản lý và theo dõi lịch sử mã nguồn của mình. GitHub là một dịch vụ lưu trữ dựa trên đám mây cho phép bạn quản lý kho Git. Nếu bạn có các dự án nguồn mở sử dụng Git, thì GitHub được thiết kế để giúp bạn quản lý chúng tốt hơn.


-3

Github là bắt buộc nếu bạn muốn cộng tác giữa các nhà phát triển. Nếu bạn là một người đóng góp git là đủ, hãy đảm bảo bạn sao lưu mã của mình một cách thường xuyên

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.