1.git安装
2.概念理解
工作区:本地开发的项目代码,能直接接触到的,所见即所得。
暂存区:临时存放区域,该区域的变更会最终被提交到本地仓库。
本地仓库: 本地仓库的项目文件。
远程仓库:同一个项目多人协作,每个都有一个本地仓库,最终汇总到远程仓库
打比方:工作区就好比车间,暂存区好比卡车集装箱,本地仓库好比工厂的仓库。
在车间中生产产品(工作区),最后装到大卡车的集装箱(暂存区),运输到工厂的仓库中存放(本地仓库)。
3.初始化操作
#一次性配置
git config --global user.name “susupper”
git config --global user.email “666@qq.com”
git config --global --list
4.创建版本库到commit操作
#新建版本库
git init 版本库名
#查看状态
git status
#添加工作区的文件到暂存区
git add file
#回退暂存区的文件到工作区
git restore --staged file
#提交暂存区的文件
git commit -m “说明”
#查看commit日志
git log
#简短日志信息
git log --oneline
#查看前两次commit日志
git log -2
#查看暂存区文件
git ls-files
#修改了文件操作,可还原或者提交到暂存区
#还原文件修改
git restore <file>
5.回退已经commit
#回退后,保留工作区和暂存区的所有修改内容
git reset --soft
#回退后,丢弃工作区和暂存区的所有修改内容
git reset --hard
#回退后,保留工作区的所有修改内容、丢弃暂存区的所有修改内容 此为默认选项
git reset --mixed
#回退最近一次commit
git reset --soft HEAD^
git reset --hard HEAD^
git reset --mixed HEAD^
#操作可回溯,如果存在误操作,可使用如下
#查找操作版本
git reflog
#回退到版本
git reset --hard 9b1d7ec
6.差异比对
#比较工作区与暂存区差距
git diff
#比较工作区与本地仓库差距
git diff HEAD
#比较暂存区与本地仓库差距
git diff --cached
#比较版本 HEAD当前版本 HEAD~ 上一个版本 HEAD~2 之前的前两个版本
git diff HEAD~ HEAD
git diff HEAD~1 HEAD
git diff HEAD~1 HEAD test1.txt
7.删除文件
rm 工作区文件
#暂存区还在
git ls-files
#再执行
git add .
git commit -m ‘删除文件’
以上操作繁琐
#直接删除文件,暂存区也不存在了,只要执行commit操作
git rm 文件
#只删除暂存区
git rm --cached 文件
#删除的文件回到暂存区
git restore --staged test3.txt
8.忽略文件到版本库.gitignore
#添加到该文件中进行忽略
.gitignore
cat .gitignore
内容如 *.log 则表示忽略所有log后缀的所有文件
#重点场景问题,文件已经在版本库库中,后面又把它加到.gitignore,修改完文件后,还是会出现在变化当中
#只删除暂存区文件
git rm --cached 文件
git commit -m “提交说明”
#此时再去修改文件,就不会在出现了
vi 文件名 进行修改内容后保存
git status 不会再次出现结果
9.关联本地仓库与远程仓库
git remote add origin git@github.com:XXXXX/remote_repo.git
#需要在github上加上公钥信息
git push --set-upstream origin master
#拉取远程分支同步到本地
git pull