git
分布式版本控制器
工作流程
- 工作区(写代码的终端)
- 缓存区
- 版本库
- 将版本库内容迁到远端(GitHub / gitee)
- 工作区写代码
- 工作区代码编辑完毕之后将代码提交到暂存区
- 暂存区:类似于过滤层 保护工作区与版本库的代码避免错误操作
- 将暂存区的代码提交到版本库 形成版本(版本可以进行处理)
下载git
git bash终端操作
git --version 查看版本
git第一次操作配置个 人信息
git config --global user.name 名字
git config --global user.email 邮箱地址
git config --list
初始化git
一项目被git管理 先初始化
git init
git默认情况下不会管理空文件
git 管理文件包括所有的子文件
查看当前被git管理的项目文件的状态
git status
- 如果文件显示红色,,文件在工作区没有向暂存区提交
- 如果文件显示绿色,文件在暂存区没有向版本库提交
将工作区的文件提交到暂存区
git add index.html 提交index.html文件
git add css/ 提交css文件夹
git add --all 提交所有文件
git add . 提交所有
将暂存区文件拉回到工作区
git reset HEAD -- index.html 拉回文件
git reset HEAD -- css/ 拉回文件夹
git reset HEAD -- . 拉回所有
将暂存区提交到版本库(形成一个版本控制)
git commit -m '版本日志';
查看版本
git log
返回:id
提交作者
时间
git reflog
返回 :版本号 版本日志
版本回退
git reset --hard 版本id
git reset --hard HEAD ^ 一个^ 代表回退一个版本
文件的比对
git diff 文件名称 查看当前文件工作区好人暂存区的不同
git diff 分支名 查看工作区和版本库的不同
git diff --cached 查看缓存区和版本库的不同
文件的删除
git rm -f 文件名 删除暂存区和工作区的文件
git rm --cached 删除暂存区 保留工作区
git管理空文件 / git忽略某个文件
- 对空文件夹进行管理 在文件夹里面 放置一个.gitkeep;
- 不让git管理某个文件 : 在git管理的目录下面 放置一个文件 : gitignore 把不需要管理的文件 添加到.gitignore中
分支
master 主分支
- master 不能进行项目开发
- 1.保持最终最干净的代码
- 2.存在公共的库
- 3.整个项目的大架构
- 创建一个开发分支(自己创建的分支)
- dev分支
- 合并每一个分支的整体项目(用于测试,用于项目联盟)
- 开发过程中,需要合并到项目中的代码
- dev分支
分支的操作
git branch 查看分支
git branch 分支的名称 创建分支
git checkout 分支名称 切换分支
git checkout -b 分支名校 创建并切换分支
git branch -d 分支名称 删除分支
git merge 分支名称 合并
远端(github/gitee)
想把本地仓库 推送到远端
1. 在github创建仓库
2. 拿到远端仓库地址
a.通过https
b.通过SSH秘钥
3.将本地仓库按照远端仓库地址推送
将本地仓库按照远端仓库地址推送
git remote add origin 添加远端仓库的地址
git push -u origin 分支名称
git remote rm origin 如果更改远端仓库地址之前 先把上一次远端连接移除
将远端仓库拉到本地
git clone 远端地址
git clone -b 远端分支名称 远端仓库地址
git pull origin 分支名称
配置密钥
ssh-keygen -t rsa -C "你的邮箱地址"
cat ~/.ssh/id_rsa.pub
配置密钥流程:
1:在终端 ssh-keygen -t rsa -C “你的邮箱地址”
2:在终端 cat ~/.ssh/id_rsa.pub
3:得到 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFI/4Xh6vEnBKoadpohBvCP8PQdi0zGRupOfn8IrWqz+G9ZAGFJdAEDItXhQs6HIfk3ps34xnPuiSRAE8y/oCtNiUgcQ0Q8l2TGhFBZ2q1rrv15+HmBhf07obsDGNU01WxbVwf81Vv8R6Q9LI7D31j8ifFHJJOKtBEJoMMDuehHnXltzQ5/onRpE+QRBW3UuX9Fhvw/aLoX9gD5M3AuwRzSqe/gALViKtzr+Pj2tRjbwUQwmHR62Obz9kFTHQ414GmtUYpRSRg6VwAJ5dl+heijW1j6bR1gWpnyKW5Hs6PM9PAIx9UiYHfpAl+kPYguWxZHigSd7OoMzAhBU64dyb9ZFSIZqfhodQgiEIZVj3CKTYAgdLSWchTVLq6U3te+rhAnrWD2MBT7IFPZ+jQZoH1kNhx3y8OvEq6TudrP6ICkvDN6dYD4r007gaXmRT5WFqWaKGhf2XI8fJg/cAnWMImURcfUI/KgIl1LXCMUP/lT1/HbTjkTa7E0n7tIqlXJAM= wangsbruce@163.com
4:把拿到的密钥配置到github
git冲突
一定要先拉取远程仓库的代码,再修改,不然会产生冲突,报错。
解决方案:
手动合并
vscode可视化工具
ctrl shift g : 源代码管理
+ 暂存
√ 提交
小乌龟可视化工具
TortoiseGit