Git版本控制工具 - 程序员的日常小助手(一)
版本控制是指对软件开发过程中各种程序代码、说明文档等文件的变更进行管理它将追踪文件变化,记录文件的变更时间、变更内容、甚至变更执行人进行记录同时对每一个阶段性变更(不仅仅只是一个文件的变化)添加版本编号方便将来进行查阅特定阶段的变更信息,甚至是回滚(调回原先的版本)
·
版本控制处理
产品不停的新增需求,导致出现了 版本a 、 版本b 、版本c 以及 最终的版本d
当你辛辛苦苦写完代码,发现产品要最初的版本,怎么办?!瞬间崩溃。。。
版本控制
版本控制是指对软件开发过程中各种程序代码、说明文档等文件的变更进行管理
它将追踪文件变化,记录文件的变更时间、变更内容、甚至变更执行人进行记录
同时对每一个阶段性变更(不仅仅只是一个文件的变化)添加版本编号
方便将来进行查阅特定阶段的变更信息,甚至是回滚(调回原先的版本)
人工版本控制器
人为的去复制项目不同阶段的代码,辅助一些文字加以说明区分
- 人工去操作繁琐、容易出错
- 产生大量重复(冗余)数据
版本控制工具
通过程序完成上述人工版本控制行为
- 方便且功能强大
- 只记录不同版本之间变化的部分
版本控制工具 - Git
git是一个开源的分布式版本控制系统,并且它可以有效、高速的处理从很小到非常大的项目版本管理。
git 提供了是四种记录状态
- 已修改(modified)
- 已暂存(staged)
- 已提交(committed)
- 未追踪(Untracked)
git 提供了是三个工作区
- 工作目录
- 暂存区域
- Git 仓库(本地仓库或者远端仓库)
Git 操作流程
准备工作
- 安装
需要在 Git官网 下载
然后进行安装,有需要的可以看 安装教程
安装中的注意事项:- 选择自己的默认编译器选错了没关系,之后可以更改
- 选择自己的默认编译器选错了没关系,之后可以更改
- 配置
第一次使用的时候需要进行用户信息配置git config --global user.name "你的姓名"
全局配置用户信息git config user.email "你的邮箱"
全局配置邮箱信息
- 检查配置
git config --list
操作指令
一定要进入想要操作的文件下进行,否则会有不必要的麻烦
- 创建仓库
git init
创建一个名为.git
的子目录,这个子目录含有初始化的 Git 仓库中所有的必须文件
这个目录也是上面我们说的三个区域之一,这个目录也是 Git 保存数据记录的地方
非常重要,如非必要,不要轻易改动( 操作不慎可能导致文件永久丢失 )
- 创建文件
touch 文件名.文件类型
创建一个文件( 实质上就是操作文件 )
- 查看工作区状态
git status
显示工作区所有文件的状态
- 添加工作区文件到暂存区
git add 文件名
git add 1.txt
添加的单个文件git add 2.txt 3.txt
添加多个文件git add ./a
添加整个目录git add .
添加工作区的所有文件
- 将暂存区文件提交到仓库
git commit 文件名 -m 备注信息
- 查看提交日志
git log
查看完整的日志git log --oneline
查看简略版的日志
- 修复提交
git commit --amend
替换掉上一次的提交日志,
在不添加新的提交日志情况下将修改或新增的代码追加提交
- 显示乱码处理方式
git config --global core.quotepath false
有中文的时候极有可能出现乱码 - 删除文件
- 从 git 仓库与工作区中删除指定文件
git rm 文件
- 只删除 git 仓库中的文件
git rm --cached 文件
- 从 git 仓库与工作区中删除指定文件
- 撤销重置
- 从暂存区中撤销到工作区
从暂存区中撤销一个指定文件git reset HEAD 文件名称
从暂存区中撤销所有文件git reset HEAD .
- 用于回退版本
需要 commit 提交时的idgit reset --hard commitID
解决一开始提出的问题,产品要最初版本的程序代码
- 从暂存区中撤销到工作区
文件比较
用于帮助 “程序猿” 去回忆之前的版本的开发中究竟做了些什么
节约时间,提高开发效率
比较 工作区和暂存区文件
- git工具中的效果
- vsCode 中的效果
比较 暂存区和仓库文件
- git 工具中的效果
- vsCode 的效果
比较 工作区和仓库文件
- git 工具的效果
- 别好奇为什么没有 vsCode 的效果
😦 因为 vsCode 没有提供这个效果
比较 仓库不同版本文件
- git 工具的效果
- 别好奇为什么没有 vsCode 的效果
😦 因为 vsCode 没有提供这个效果
更多推荐
已为社区贡献1条内容
所有评论(0)