Git
版本控制
版本迭代 版本管理器
版本控制是一种在开发的过程中用于管理我们对文件,目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
- 实现跨区域多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护源代码和文档
- 统计工作量
- 并行开发,提高开发效率
- 跟踪整个软件的开发过程
多人开发必须使用版本控制
常见的版本控制工具:
- Git 不会因为服务器损坏,或者网络损坏造成不能工作。
- SVN (Subversion)
- VSS
- TFS
Git 和SVN 的区别
- SVN 是集中式版本控制器,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以先要从中央服务器得到最新的版本,必须联网才能工作
- Git是分布式版本控制系统,每个人的电脑就是一个完整的版本库,工作的时候就不需要联网了。Git可以直接看到了更新了哪些代码和文件。
环境变量只是为了全局使用
启动Git
安装成功后在开始菜单中会有Git项,菜单下有三个程序:任意文件下右键也可以看到对应的程序
Git Bash: Unix 与 Linux 风格的命令行,使用最多
Git cmd Windows风格的命令行
Git gui 图形界面的Git
基本的Linux命令学习
- cd 改变目录
- cd… 回退上一个目录,直接cd进入默认目录
- pwd 显示当前所在的目录路径
- ls(ll) 都是列出当前目录中的所有文件,只不过ll (两个ll)列出的内容更为详细
- touch 新建一个文件 如 touch index.js 就会在当前目录下新建一个js文件
- rm 删除一个文件,rm index.js 就会把js文件删除
- mkdir 新建一个目录,就是新建一个文件夹
- rm-r 删除一个文件夹,rm-src 删除src目录
- mv 移动文件,mv index.html src index 是我们要移动的文件,src是目标文件夹,当然,这样写,必须保证文件和目标文件在同一目录下
- reset 重新初始化终端 / 清屏
- clear 清屏
- history 查看历史命令
- help 帮助
- exit 退出
- #表示注释
Git配置
查看git配置 : git config -l
查看系统配置 git config --system --list
设置用户名与邮箱(用户标识,必要)
git config --global user.name “hison” #名称
git config --global user.email 2678066103@qq.com #邮箱
Git相关配置文件:
- Git\etc\gitconfig Git安装目录下的gitconfig --system 系统及
- C:\user\Administrator.gitconfig 只适用于当前登陆用户的配置 --global全局
这里可以直接编辑配置文件,通过命令设置后会响应到这里 (本质就是一些基本的文件)
基本理论
工作区域
Git共有三个工作区域:工作目录(Working Directory), 暂存区(Stage/index), 资源库(Repository 或 Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域,文件在这四个区域之间可以相互转换
WorkSpace 工作区,就是平时存放项目代码的地方
index / Stage 暂存区,用于临时存放你的改动,事实上它只是一个文件夹,保存即将提交到文件列表信息
Repository 仓库区(或本地仓库) 就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote 远程仓库 托管代码的服务器,
git 的工作流程
- 在工作目录中添加,修改文件
- 将需要进行版本管理的文件放入暂存区域 git add.
- 将暂存区的文件提交到git仓库 git commit
- 推送到服务器 git push
Git项目搭建
本地仓库搭建
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库
-
创建全新的仓库,需要用Git管理的项目的根目录执行
# 在当前目录新建一个Git代码库 git init
-
执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面
克隆远程仓库
-
另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地
#克隆一个项目和它的整个代码历史(版本信息) git clone[url]
-
在gitee 或 github 测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCbWi5HW-1666751961206)(D:\Huawei Share\Huawei Share\Screenshot_20221025_224027_tv.danmaku.bili.jpg)]
查看文件状态
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
git add . 添加所有文件到暂存区
git commit -m "消息内容" 提交暂存区中的内容到本地仓库
忽略文件
生成公钥
ssh-keygen -t rsa
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8qb5GdE8-1666751961211)(D:\Huawei Share\Huawei Share\Screenshot_20221025_234325_tv.danmaku.bili.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWz9HFKz-1666751961211)(D:\Huawei Share\Huawei Share\Screenshot_20221025_233238_tv.danmaku.bili.jpg)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K0gbRBC6-1666751961213)(D:\Huawei Share\Huawei Share\Screenshot_20221025_233311_tv.danmaku.bili.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oJJxVcKs-1666751961214)(D:\Huawei Share\Huawei Share\Screenshot_20221025_224027_tv.danmaku.bili.jpg)]