版本回退:
查看历史:git log or git log --pretty-online
回退历史:git reset --hard HEAD^ or git reset --hard commit_id
重返未来查看历史:git reflog
撤销修改:
场景一:改乱了工作区内容,直接丢弃工作区内容。
git checkout -- file
场景二:不但该乱了工作区内容,还添加到暂存区,想丢弃修改。
git reset HEAD file
git checkout -- file
场景三:提交到版本库,撤销本次提交
查看版本回退
删除文件:
场景一:从版本库删除文件
git rm file
git commit -m ‘说明'
场景二:删除错误,版本库还有 把误删的文件恢复到最新版本
git checkout -- file
温馨提示:git rm 只能恢复到最新版本,会丢失最近一次提交的修改
分支管理:
创建分支并切换: git checkout -b 分支名 or git switch -c 分支名
创建分支:git branch 分支名
查看当前分支:git branch
合并分支:git merge 分支名
删除分支:git branch -d 分支名 or git branch -D 分支名
切换分支:git checkout 分支名 or git switch 分支名
bug分支:
场景:在开发分支进行工作,临时进行bug修复
在开发分支:git stash 隐藏工作内容
回到现场:git switch 开发分支
查看工作现场: git stash list
恢复现场:
git stash pop 恢复并且删除stash内容
git stash apply 恢复但没有删除stash内容,git stash drop 删除stash内容
把bug修改同步到当前分支:
git cherry-pick commit
远程仓库
查看远程仓库信息: git remote. Or git remote -v
推送分支:git push origin 分支名
创建远程分支到本地:git checkout -b 分支名 origin/分支名
建立本地分支和远程分支的关联:git branch --set-upstream 分支名 origin/分支名
远程分支抓取分支:git pull