Git作用:记录代码内容,切换代码版本,实现多人开发
Git安装:
打开bash端
命令:git-v(查看版本)
配置用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱名"
下载之后无脑next
在vscode的终端中就可以看到是否安装成功
本机全局配置用户名和邮箱
git config --list 可以查看配置
git仓库:记录文件状态内容的地方,存储修改的历史记录
创建:
- 方法一:把文件夹转化为git仓库,git init
- 方法二:从其他服务器上克隆一个仓库
Git的三个区域:
工作区:实际操作的文件夹./git_study
暂存区:暂存改动过的文件./git/index
版本库:保存暂存区的内容,产生一个版本快照./git/objects
git add 文件名(保存指定文件) | git add.(保存所有改动文件手动删除的文件就没有了)| git commit -m "注释说明" (提交并保存,产生版本快照)
Git文件状态
未跟踪(U):新文件,未被git管理过
已跟踪(A):git已经管理的文件
未修改:(")
已修改(M)
git status -s查看文件状态,并最终提交
只有版本记录的才能恢复文件
Git暂存区使用
暂存区与版本区解耦合,可以临时恢复代码内容
暂存区->覆盖->工作区
git restore 目标文件 :完全确认覆盖是使用
git rm -cached 目标文件 :从暂存区移除文件
版本回退
查看提交历史记录:git log --oneline
回退命令:git reset --soft 版本号,恢复到暂存区和工作区,尽可能把新文件保留下
git reset --hard版本号 暂存区只用html文件,其他清除,包括工作区的其他文件
git reset --mixed 版本号 暂存区只有html文件其他的清楚,但是工作区中保留其他文件
删除文件
删除文件,在保存,提交版本信息
步骤:
- 手动删除工作区文件
- 暂存变更/手动删除暂存暂存区文件变更
- 提交保存
忽略文件
.gitignore文件可以让git彻底忽略跟踪指定文件
目的:让git仓库更小更快,避免重复无意义的文件
创建:
项目跟文件新建.gitignore文件
填入相应配置来忽略文件(文件夹或是文件)
分支
本质上是指向提交节点的变量的可变指针,默认名字master
HEAD指针影响工作区/暂存区的代码状态
步骤:
- 创建分支:git branch 分支名
- 切换分支:git checkout 分支命令 将HEAD指向新创建的分支
- git branch查看分支
工作区准备代码并提交,重复三次
分支合并与删除
步骤:
- 切换到要合入的分支上:git checkout master
- 合并其他分支:git merge 分支名
- 删除合并后的分支指针:git branch -d 分支名
合并与提交
发生在原分支产生了新的提交记录后,在合并回去时发生,自动使用多个快照记录合并后产生一次新的提交
合并冲突
冲突:分支和master同文件中同部分进行了修改
解决:
- 打开vscode找到冲突文件并手动解决
- 解决后提交一次记录
Git远程仓库
将版本库传到GitHub,Gitee,GitLab中
步骤:
创建远程版本库,并把本地git仓库推送上去保存
- 注册账号
- 新建仓库得到远程仓库Git地址
- 本地Git仓库添加远程仓库原点地址 命令:git remote add 远程仓库别名 远程仓库地址
- 本地Git仓库推送版本记录到远程仓库 命令:git push -u 远程仓库别名 本地:远程分支名
- 移除远程 git remove 远程仓库别名
Git远程仓库-克隆
拷贝一个Git仓库到本地,进行使用,本地仓库会与远程仓库建立连接
git clone 远程仓库地址
创建分支 写自己的代码 保存版本记录 合并 提交保存
多人协同开发
拉取别人的代码,跟新自己的
git pull 别名 master(远程分支):[本地分支])