Git概述与安装
第一章 Git概述
Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。
1. 何为版本控制
- 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
- 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。
2. 为什么需要版本控制
- 个人开发过渡到团队协作。
3. 版本控制工具
-
集中式版本控制工具
CVS、SVN(Subversion)、VSS…… 集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存 所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或 者提交更新。多年以来,这已成为版本控制系统的标准做法。 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什 么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要 远比在各个客户端上维护本地数据库来得轻松容易。
事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕 机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
-
分布式版本控制工具
Git、Mercurial、Bazaar、Darcs…… 像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码 仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用 其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次 对整个文件仓库的完整备份。
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
- 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
- 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
4. Git简史
5. Git工作机制
6. Git 和代码托管中心
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
- 局域网
- GitLab
- 互联网
- GitHub(外网)
- Gitee 码云(国内网站)
第二章 Git安装
官网地址: https://git-scm.com/
-
直接next
-
选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。
-
Git 选项配置,推荐默认设置,然后下一步。
-
Git 安装目录名,不用修改,直接点击下一步。
-
Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。
-
默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步。
-
修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。
-
选择后台客户端连接协议,选默认值 OpenSSL,然后下一步。
-
配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,选择第一个自动 转换,然后继续下一步。
-
选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。
-
选择 Git pull 合并的模式,选择默认,然后下一步
-
选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。
-
其他配置,选择默认设置,然后下一步
-
实验室功能,技术还不成熟,有已知的 bug,不要勾选,然后点击右下角的 Install 按钮,开始安装 Git。
-
点击 Finsh 按钮,Git 安装成功!
-
右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。
-
在 Git Bash 终端里输入
git -v
查看 git 版本,如图所示,说明 Git 安装成功。
本文来自博客园,作者:你就是星光,转载请注明原文链接:https://www.cnblogs.com/xzqyl/p/17045401.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)