Git简介
Git结构
Git和代码托管中心
代码托管中心的任务:维护远程库
局域网环境下
- GitLab 服务器
外网环境下
- GitHub
- 码云
本地库和远程库
- 团队内部协作
- 跨团队协作
Git命令行操作
本地库操作初始化操作
在文件资源管理器的哪一个界面下右键git bash here,就会在当前目录下去打开git命令行窗口。
Linux命令
- ll:显示目录中全部文件信息
- ls -la:带隐藏资源
- pwd:用于显示工作目录
- cd ~:进入家目录
- 如果显示: 说明内容一页放不完,按空格进入下一页
vim编辑器
- :wq 保存退出
- esc 退出编辑模式
- 显示行号:set nu
https://www.runoob.com/linux/linux-vim.html
Git命令
- git help [具体命令]:查看帮助
本地库初始化
git init
签名
形式:
- 用户名:tom
- Email 地址:goodMorning@atguigu.com
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关
系。
两种签名
项目级别/仓库级别:仅在当前本地库(如MyBooBPMS)范围内有效
- 设置命令
- git config user.name wuyunzhi_pro
- git config user.email hangOn_pro@zz
- 信息保存位置:./.git/config文件
- 查看签名命令 cat .git/config
系统用户级别:登录当前操作系统的用户范围
- 设置命令
- git config --global user.name tom_glb
- git config --global goodMorning@atguigu.com
- 信息保存位置:~/.gitconfig 文件
- 查看签名命令 cat ~/.gitconfig
级别优先级
- 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别
的签名 - 如果只有系统用户级别的签名,就以系统用户级别的签名为准
- 二者都没有不允许
基本操作
状态查看
git status
查看工作区、暂存区状态
添加到缓存区
git add [file name]
将工作区的“新建/修改”添加到暂存区
提交到本地库
git commit -m “commit message” [file name]
将暂存区的内容提交到本地库
查看历史记录
git log 查看的是本地库
git log --pretty=oneline 每个记录一行显示
多屏显示控制方式:
- 空格向下翻页
- b 向上翻页
- q 退出
前进后退
通过操作HEAD指针来进行
reset 命令的三个参数对比
跳过了p20-p23
分支
分支的概念
在版本控制过程中,使用多条线同时推进多个任务。
分支的好处
- 同时并行推进多个功能开发,提高开发效率
- 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任
何影响。失败的分支删除重新开始即可。
分支操作
- 创建分支
git branch [分支名] - 查看分支
git branch -v - 切换分支
git checkout [分支名] - 删除分支
git branch -d [分支名] - 合并分支
- 切换到接受修改的分支(被合并,增加新内容)上:git checkout [被合并分支名]
- 执行 merge 命令:git merge [有新内容分支名]
- 冲突
被修改的分支和用于合并的分支修改了同一个地方,就会出现冲突,此时自动合并不行,需要手动合并。
- 分支冲突的表现:
- 解决分支冲突
- 编辑文件,删除特殊符号
- 把文件修改到满意的程度,保存退出
- git add [文件名]
- git commit -m “日志信息” 此时 commit 一定不能带具体文件名
GitHub
创建远程库地址别名
git remote -v 查看当前所有远程地址别名
git remote add [别名] [远程地址]
推送
git push [别名] [分支名]
克隆
克隆默认分支
克隆分支教程
git clone [远程地址]
失败了一次,又试一次之后成功了,很玄学
效果
- 完整的把远程库下载到本地
- 创建 origin 远程地址别名
- 初始化本地库:有.git目录就是本地库初始化完成了
克隆指定分支
git clone -b [分支名] 网址.git
跳过了p38-p42