1、git stash
// 临时储藏
git stash save " stash remark " // 存储的时候增加一个备注
git stash pop 或 git stash apply // 可以恢复到当前的工作目录
git stash list // 查看stash了哪些存储
2、git restore
git status 可查看文件路径
// 2.1文件修改且git add暂存区(staged)后
git restore --staged 文件路径 // 修改文件从暂存区移动到工作区(未add前)
git restore --staged *.vue // 表示将所有暂存区的vue文件恢复状态
git restore --staged . // 表示将当前目录所有暂存区文件恢复状态
// 2.2文件修改
git restore 文件路径 // 将文件修改内容撤销
// 2.3文件修改,git add 并 commit后
git restore -s HEAD~1 文件路径 // 当前文件回退上一个版本
git restore -s 91410eb9 文件路径 // 当前文件回退到指定的版本
git reset HEAD 文件路径 // 文件回退
3、git远程仓库切换
git remote -v // 显示所有远程仓库
git remote remove <name> // 删除某个remote
git remote add origin <新url> // 将本地仓库与新地址关联
4、git本地更新远程分支列表
git remote update origin --prune
或者
git remote update origin -p
5、git本地分支关联远程分支
git branch --set-upstream-to=origin/dev dev
git branch -vv // 查看本地分支+上次提交的信息+本地和远程分支的关系
6、git tag
// 提交
git tag -a master-v1.0.0 -m '初版vue代码'
git push origin master-v1.0.0
// 删除
git tag -d master-v1.0.0
git push origin :refs/tags/master-v1.0.0
7、git远程代码强制拉取同步到本地文件夹
git fetch -all
git reset --hard origin/master
git pull
8、git reset
git reset --hard HEAD^ // 回退上一版本
git reset --hard dde8c25 // 回退指定版本
git push origin HEAD --force // 强推到远程
9、创建空分支
// 创建一个孤儿分支
git checkout --orphan mybranch
// 删除孤儿分支中的所有内容
git rm -rf .
// 创建vite项目
npm init vite@latest
// 将vite新项目中的所有内容(除.git)copy到新的空分支中
git add .
git commit
git push
10、git merge后如何撤销
merge后发现冲突太多,或者合并的分支代码并不是最新,那就直接撤销再合并好了。
git reset --hard HEAD
11、错误分支修改代码如何转移
场景:本应该在test分支开发代码,结果在master分支上写完后才发现写错分支了
处理方法:
// 此时master分支修改代码都未add、commit
// 将master分支修改代码放入临时存储
git stash
// 切换到 test分支
git checkout -b test
// 释放临时存储数据
git stash pop
// 在正确分支上提交代码
git add -A
git commit -m 'xxxxx'
// 此时再切换到master分支
git status
git stash list
// 都为空,此时代码转移成功