Git学习笔记
引入
教程简介
- 学习方式
图形演示+操作
- 常用功能
仓库管理、文件管理、分支管理、标签管理、远程操作
- 进阶功能
使用开发工具来集成Git软件和访问GitHub,Gitee这样的第三方代码托管平台
- 功能指令
add、commit、log、branch、tag、remote、status
为什么学习Git软件
- 为什么要学习Git软件?
资源管理:人力资源、代码资源、文档资源
- 代码资源:.html, .css, .js, .java, .py, .c等
- 文档资源:需求文档、设计文档等(如doc、ppt、xls、img、pdf、zip等)
这些项目文件都需要专门的软件管理。这样的软件就叫SCM软件(Software configuration Management):
软件配置管理(SCM)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。
- 为什么要学习Git软件?
集中式版本控制
VSS软件(visual sourcesafe)微软早期开发的版本控制系统。集中式版本控制,服务器上的同一份程序代码文件不能同时修改,在同一个时间点,由一个人锁定服务器进行开发,开发完成释放服务器的锁定状态,再由另外一个人锁定文件再进行开发。
CVS(concurrent versions system)支持多人协作进行开发,效率非常不错,但是由于软件本身有一些编码等问题。
所以在项目中,使用它的升级版本Subversion。
以上都需要中央服务器,作为项目资源库,对资源进行管理和存储,一旦服务器发生故障和损坏,项目的资源也会发生丢失或损坏,从而造成不可逆的损失。
Clear Case:由IBM开发的。
Perforce:商业化版本控制工具,对美术资源比较友好。
分布式版本控制
GIt
概念
版本控制
集中式版本控制、分布式版本控制、多人协作开发
版本:软件版本、文件版本
软件版本:
- jdk:1.8/17/20
- MySQL:5.7/8.0
- IDEA:2022/2023
文件版本:
- 保存重要的历史记录
- 恢复数据
版本控制软件基础功能
保存和管理文件
提供客户端工具进行访问
- 提供不同版本文件的比对功能
客户端
集成
版本号
通过“SHA-1”的加密算法,生成40位版本号。
可以定位仓库中的文件:2+38(前两位为文件夹,后38位为文件名)
文件操作
1 | git cat-file -p 文件名 |
-p 表示友好的查看文件
100644:100表示普通文件,644表示文件权限
文件修改:
文件删除:
分支操作
暂存区主要的目的就是比对文件。
命令
介绍
仓库操作
1 | # 可以查看git软件的版本 |
文件操作
1 | # 查看暂存区状态 |
误删除
1 | # 如果误删除了已经commit的文件 恢复 |
分支操作
1 | # 创建分支 有提交才能创建分支 |
合并和冲突:
1 | # 将order合并到master上 |
标签操作
1 | # 某一次提交的版本号太长 可以给它一个标签代替 |
远程仓库
1 | # 修改不同的url |
本地修改 push到远程仓库
1 | # 使用ssh的url 进行push 需要提供安全认证功能 |
远程修改 拉取到本地仓库
1 | git pull <remote 名字> |
GitLab
总结
参考教程:【Git全套教程,3小时速通git,git入门到实战】https://www.bilibili.com/video/BV1wm4y1z7Dg?p=30&vd_source=fd8b55aa754198a22efdcca12a0fda4b
