【基础知识】Git 和 Github 的深度认知
一、Git介绍
Git 是一个分布式版本控制系统,它不仅仅是一个客户端工具。Git 的工作方式涉及到客户端和服务器端的概念,但它的核心功能可以在本地计算机上完成,无需网络连接。以下是 Git 的一些关键特点:
分布式版本控制:
- Git 在每个开发者的本地计算机上都有一个完整的代码库副本,包括完整的历史记录。这意味着你可以在本地进行几乎所有的版本控制操作,如提交(commit)、分支(branch)、合并(merge)等。
客户端-服务器模式:
- 尽管 Git 是分布式的,但它通常在客户端-服务器模式下使用。开发者的本地仓库(客户端)可以与远程仓库(服务器)同步。远程仓库通常托管在服务器上,如 GitHub、GitLab 或 Gitee。
客户端工具:
- Git 提供了一个命令行界面,用户可以通过命令行执行各种版本控制操作。此外,还有许多图形用户界面(GUI)客户端工具,如 GitHub Desktop、SourceTree、GitKraken 等,它们提供了更直观的操作方式。
服务器端:
- 服务器端的 Git 服务提供了远程仓库的托管,允许多个开发者协作。服务器端还提供了一些额外的功能,如权限控制、Web 界面访问、持续集成(CI)和持续部署(CD)集成等。
总结来说,Git 本身是一个分布式版本控制系统,它在本地提供了完整的版本控制功能。同时,它也支持客户端-服务器模式,允许用户通过客户端工具与远程服务器进行交互。Git 是一个命令行工具,可以在任何支持 Git 的平台上使用,并且可以在没有网络连接的情况下工作。这种模式使得团队协作和代码共享变得更加容易。
二、Github介绍
GitHub 是一个基于 Git 的在线代码托管平台,它提供了一个网站,允许开发者分享代码、协作和讨论项目。GitHub 提供了免费的公共仓库,但私有仓库(适用于企业或团队内部项目)是收费的。GitHub 还提供了一系列的 API,允许开发者和第三方应用与 GitHub 的服务进行交互。
GitHub 的强大功能和广泛的用户基础使其成为了全球最大的代码托管平台和开发者社区之一,成为全球最大的开源项目托管平台,拥有庞大的开发者社区。
三、Gitee、GitLab 和 GitCode
GitHub、Gitee 和 GitLab 以及其他很多都是基于 Git 这个版本控制系统的代码托管平台。
1、Gitee(码云)
Gitee,也称为码云,是一个中国的代码托管平台,同样基于 Git。它提供了与 GitHub 类似的功能,包括代码托管、项目管理等。Gitee 主要服务于中文社区,对于国内开发者来说,由于网络原因,访问速度可能比 GitHub 更快。Gitee 提供了免费的私有仓库服务,适合国内企业使用。
2、GitLab
GitLab 是一个类似于 GitHub 的平台,它也提供了基于 Git 的代码托管服务,并且可以免费搭建私有仓库。GitLab 不仅支持代码托管,还提供了一系列的 DevOps 工具,如 CI/CD 管道、代码审查、监控等。GitLab 可以部署在私有服务器上,这对于需要内部控制和安全性的企业来说是一个优势。
3、GitCode
GitCode 是一个开源代码托管平台,基于Git实现,类似于中国运营的Gitee。GitCode 特别考虑到了中国用户的使用习惯,提供了一些本地化的功能,如与CSDN 账号整合,中文界面。此外,还提供了与GitHub 的同步功能,允许用户将GitHub上的项目镜像到GitCode,以加快国内用户的访问。
四、git的基本使用
1、安装
1、linux直接使用包管理器安装即可
2、windows需要去官网下载对应的exe版本安装
2、git中的基本概念
1 | git中分几个区域 |
3、本地仓库的提交使用
1 | // 1、先去github或gitee 创建一个空仓库 |
4、本地仓库的log 查看
1 | // 1、在本地仓库的根目录查看提交历史 |
5、本地仓库的版本回溯
1 | // 1、先找到历史版本的ID |
6、本地仓库git的分支
1 | master/main:一般是GitHub自动创建的主分支,存放经过测试的稳定代码 |
7、本地仓库提交到远程仓库
1 | // 1、指定提交到的仓库地址(http) |
五、总结
Git 是一个工具,而 GitHub、Gitee、GitLab 和GitCode 是利用 Git 提供代码托管服务的平台。
GitHub 是全球最著名的 Git 代码托管平台之一,提供了公有和私有仓库,以及丰富的社区功能,如问题跟踪、拉取请求、Fork 和 Star 等。
GitLab 提供了社区版(GitLab CE)和企业版(GitLab EE)。GitLab CE 是免费的开源软件,可以自行搭建和部署。
Gitee 作为国内平台,提供了免费的私有仓库服务,并且对于国内用户来说,访问速度更快。
GitCode 为国内用户提供了一些特殊的保障,方便国内用户访问,同时,可以同步GitHub项目镜像,可与GitHub结合使用。
选择哪个平台通常取决于个人或团队的需求、预算以及对社区和网络速度等多方面的考虑。