git stash、git branch使用方法

一、git stash
git stash可以将工作区和暂存区的代码缓存起来,还给我们一个干净的工作区。
git stash list指令,查看本地当前的缓存列表。
git stash apply stash@{id}恢复指定id的stash内容到工作区,不会删除缓存列表记录。
git stash pop恢复最近的stash内容到工作区,会删除缓存列表记录。
二、git branch
1. 常用命令
创建分支 : git branch branchname
切换分支: git checkout branchname
合并分支: git merge branchname
删除分支: git branch -d branchname)
查看分支: git branch
撤销暂存区的代码: git reset .
撤销工作区中的代码: git restore .
创建并切换到该分支: git branch -b branchname
查看修改的代码: git diff
回退到某个版本:
通过
git log查出提交commit时的head
通过
git reset --hard commithead进行回退到指定版本通常被覆盖后push都会有问题,直接
git push -f强制提交
2.使用场景
我们一般会在开发前先创建一个分支,然后在该分支上进行工作,如果忘记也没关系,git会记录是哪一个分支提交的代码,也就是说在
git add之前创建分支并用该分支git add,那么你的代码就会绑定到该分支上。如果已经git add过的可以通过撤销,然后再重新提交,commit也一样。当有更紧急的需求时,切换分支之前一定要先将现在分支上的代码
commit到本地仓库,这样切换到新的分支才会返回一个干净的工作区给你,且保留现在分支的代码。当我们完成当前分支的工作时,需要先将当前分支的代码提交到本地仓库,然后切换到master分支,将刚刚完成的工作合并到master分支(
git merge currentbranchname)上再进行push。也可以不合并将本地分支直接push到远程仓库,在push时需要执行
git push --set-upstream origin currentbranchname,这样远程仓库就会有我们创建的分支,并且我们最新提交的代码在该分支上才能看见。
合并远程仓库的分支到主分支我们一般是将代码克隆到本地,切换到master分支后再合并提交,克隆远程仓库某个分支的代码**
git clone -b 分支名称 仓库地址**