Git知识整理
1 Git简介
1.1 版本控制工具应该具有的功能
1.1.1 协同修改
多人并行不悖的修改服务器端的同一个文件。
1.1.2 数据备份
不仅保存目录和文件的当前状态, 还能够保存每一个提交过的历史状态。
1.1.3 版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据, 以节约存储空间, 提高运行效率。 这方面 SVN 采用的是增量式管理的方式, 而 Git 采取了文件系统快照的方式。
1.1.4 权限控制
对团队中参与开发的人员进行权限控制。
对团队外开发者贡献的代码进行审核——Git 独有。
1.1.5 历史记录
查看修改人、 修改时间、 修改内容、 日志信息。
将本地文件恢复到某一个历史状态。
1.1.6 分支管理
允许开发团队在工作过程中多条生产线同时推进任务, 进一步提高效率
1.2 Git简介
1.3 Git官网和Logo
官网地址: https://git-scm.com/
1.4 Git 的优势
- 大部分操作在本地完成, 不需要联网
- 完整性保证
- 尽可能添加数据而不是删除或修改数据
- 分支操作非常快捷流畅
- 与 Linux 命令全面兼容
1.5 Git 安装
1.6 Git 结构
1.7 Git 和代码托管中心
1.7.1 局域网环境下
GitLab 服务器
1.7.2 外网环境下
GitHub
码云
1.8 本地库和远程库
1.8.1 团队内部协作
1.8.2 跨团队协作
2 Git命令行操作
2.1 本地库初始化
-
命令
git init
-
效果
-
注意
.git 目录中存放的是本地库相关的子目录和文件, 不要删除, 也不要胡
乱修改。
2.2 设置签名
2.2.1 形式
- 用户名:feixun
- Email:[email protected]
2.2.2 作用
区分不同开发人员的身份
2.2.3 辨析
这里设置的签名和登录远程库(代码托管中心)的账号、 密码没有任何关系。
2.2.4 命令
2.2.4.1 项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name feixun
git config user.email [email protected]
信息保存位置: ./.git/config 文件
2.2.4.2 系统用户级别:登录当前操作系统的用户范围
git config --global user.name fxccie
git config --global [email protected]
信息保存位置: ~/.gitconfig 文件
2.2.4.3 级别优先级
就近原则: 项目级别优先于系统用户级别, 二者都有时采用项目级别的签名
如果只有系统用户级别的签名, 就以系统用户级别的签名为准,二者都没有不允许
2.3 基本操作
2.3.1 状态查看
git status
查看工作区、 暂存区状态
当good.txt文件使用 git add 命令进行添加之后,再执行git status命令
当good.txt进行修改之后,再执行git status命令
2.3.2 添加
git add [file name]
将工作区的“新建/修改” 添加到暂存区
如果添加到暂存区之后,暂时想把文件放到工作区,那么执行以下命令
git rm --cached [文件名]
2.3.3 提交
git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
红色标记的是commit到本地库的消息
2.3.4 查看历史记录
git log
多屏显示控制方式:
空格向下翻页
b 向上翻页
q 退出
git log --pretty=oneline
git log --oneline
git reflog
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-887KAMng-1612346693841)(…/MarkDownImages/ima