Git的使用
Git的概念
Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理 从很小到非常大的项目版本管理。
特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性
Git的特性
Git 之所以快速和高效,主要依赖于它的如下两个特性:
① 直接记录快照,而非差异比较
② 近乎所有操作都是本地执行
Git的三种状态
基本的 Git 工作流程如下:
① 在工作区中修改文件
② 将你想要下次提交的更改进行暂存
③ 提交更新,找到暂存区的文件,将快照永久性
存储到 Git 仓库
检查配置获取帮助
Git的基本操作
1. 获取 Git 仓库的两种方式
① 将尚未进行版本控制的本地目录转换为 Git 仓库
② 从其它服务器克隆一个已存在的 Git 仓库
2. 在现有目录中初始化仓库
如果自己有一个尚未进行版本控制的项目目录,想要用 Git 来控制它,需要执行如下两个步骤:
① 在项目目录中,通过鼠标右键打开“Git Bash”
② 执行 git init 命令将当前的目录转化为 Git 仓库
git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要
文件,这些文件是 Git 仓库的必要组成部分。
3. 工作区中文件的 4 种状态
4. 检查文件的状态
可以使用 git status 命令查看文件处于什么状态
5. 以精简的方式显示文件状态
6. 跟踪新文件
7. 提交更新
8. 对已提交的文件进行修改
9. 暂存已修改的文件
10. 提交已暂存的文件
11. 撤销对文件的修改
12. 向暂存区中一次性添加多个文件
13. 取消暂存的文件
14. 跳过使用暂存区域
15. 删除文件
16. 忽略文件
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 在这种情况下,我们可
以创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式。
文件 .gitignore 的格式规范如下:
① 以 # 开头的是注释
② 以 / 结尾的是目录
③ 以 / 开头防止递归
④ 以 ! 开头表示取反
⑤ 可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)
17. glob 模式
所谓的 glob 模式是指简化了的正则表达式:
① 星号 * 匹配零个或多个任意字符
② [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
③ 问号 ? 只匹配一个任意字符
④ 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配
所有 0 到 9 的数字)
⑤ 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)
18. 查看提交历史
19. 回退到指定的版本
Github远程仓库
1. 新建空白远程仓库
2. 新建空白远程仓库成功
3. 远程仓库的两种访问方式
Github 上的远程仓库,有两种访问方式,分别是 HTTPS 和 SSH。它们的区别是:
① HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
② SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库。
4. 基于 HTTPS 将本地仓库上传到 Github
5. SSH key
SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
① id_rsa(私钥文件,存放于客户端的电脑中即可)
② id_rsa.pub(公钥文件,需要配置到 Github 中)
6. 生成 SSH key
① 打开 Git Bash
② 粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:
⚫ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
③ 连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
配置 SSH key
① 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
② 在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
③ 将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
④ 在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来
7. 检测 Github 的 SSH key 是否配置成功
8. 基于 SSH 将本地仓库上传到 Github
9. 将远程仓库克隆到本地
Git分支
master主分支
在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个
master 分支叫做主分支。
在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。
因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃
功能分支
由于程序员不能直接在 master 分支上进行功能的开发,所以就有了功能分支的概念
功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试
完毕后,最终需要合并到 master 主分支上
查看分支列表
创建新分支
切换分支
分支的快速创建和切换
合并分支
删除分支
遇到冲突时的分支合并
将本地分支推送到远程仓库
查看远程仓库中所有的分支列表
跟踪分支
拉取远程分支的最新的代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本