工作区、暂存区和版本库
工作区: 开发时操作的文件夹
暂存区: 保存之前的准备区域(暂时存储改动过的文件),存在.git目录下的index中
版本库: 提交并保存暂存区的内容,产生一个版本快照。工作区中隐藏的目录.git
涉及到的git命令
查看当前配置信息
git config --list
设置用户名
git config user.name "xxx"
设置邮箱
git config user.email "xxx"
加上--global 设置全局配置
文件状态
文件状态分为两种,未被跟踪和已跟踪。其中已跟踪中又分为,新添加,已修改,未修改。
未跟踪: 是指文件新创建,还未被git进行管理,还未git add。
已跟踪: 是指文件已经被git add。
| 未跟踪 | 未跟踪(U) | 从未被Git管理管理过 | 新键的文件 |
|---|---|---|---|
| 新添加(A) | 第一次被Git暂存 | 新建的文件git add | |
| 已跟踪 | 未修改('') | 三个区统一 | 提交后保存 |
| 已修改(M) | 工作区发生变化 | 修改了内容 |
涉及到的git命令
查看文件的状态,参数-s 查看更简洁
git status -s
从工作区暂存到暂存区
git add .
查看暂存区的文件
git ls-files
取消暂存或跟踪,将暂存区的文件删除掉,此时工作区对应的文件变为未追踪状态
git rm -cached 文件
提交版本库,将暂存区提交到本地仓库(版本库)
git commit -m ”描述信息“
查看提交历史,参数--oneline查看更简洁
git log --oneine
撤销操作
如果只在工作区更改,还未git add
用于从暂存区恢复工作区的文件更改(没有git add)
git restore 目标文件 // 较新的版本
git checkout 目标文件
如果已经git add,但为git commit
只修改暂存区
git restore --start 目标文件
git reset 目标文件
暂存区,工作区全部修改
git checkout HEAD 目标文件
如果已经git commit过了
git reset --soft 版本号 // 只撤销本次commit
git reset --mixed 版本号 // 撤销commit和add
git reset --hard 版本号 // 完全撤销
分支管理
查看分支代表当前分支
git branch
没有仓库,创建仓库同时,创建分支
git init -b dev
已有仓库,创建分支
git branch test
分支更改名字
git branch -m test xxx
删除分支 -D强制删除
git branch -d xxx
检出(切换)分支
git checkout xxx
分支合并,xxx为要合并的分支,把xxx合并到当前分支(没有使用过不知区别)
git merge xxx
git rebase xxx
远程仓库
查看远程仓库
git remote -v
本地仓库关联远程仓库
git remote add 远程仓库别名 远程仓库地址
git remote add origin https://gitee.com/xxx/xxx.git
本地仓库推送到远程仓库
git push 远程仓库别名 本地和远程分支名
git push origin main:main
git push -u