以前咱们已经学习了,git本地操做相关的命令,还有git分支开发的基本功能,今天咱们补充一下git分支相关的其余操做,虽然应用场景比较少,可是却颇有用。git
Git保存当前工做上下文
好比咱们正在修改代码,忽然有个线上紧急的问题须要咱们修改,可是咱们如今正在进行的工做刚进行到一半,不能上线;把咱们辛苦的代码给删掉?太惋惜了!怎么办?git给咱们提供了“git stash”命令,能保证当前咱们工做的内容,同事将工做区重置为最后一次提交时的状态,如图:上图展现的是正在编辑文件,还未完成,忽然有打算须要暂停当前的编辑,基于上次编辑的内容从新编辑,可是目前的编辑内容又不能放弃,可使用“git stash”保留当前编辑的上下文
从保存的上下文章回复上下文数据,咱们使用“git stash list”命令来查看当前上下文列表,咱们根据实际请款选择对应的上下文进行恢复,使用“git stash applly stash@{pos}”来恢复上下文。git会自动合并上线文和最近修改的内容,若是发现冲突,会提示解决冲突,并在文件中表示出冲突的位置,咱们参照以前文章中提到的解决冲突的方式进行解决便可。除了"git stash apply <stash@{pos}>"来回复上下文信息之外,还可使用“git stash pop”来回复。恢复的是最近一个上下文信息,并把恢复的上下文信洗胸列表中删除。
因为上下文恢复之后通常就再也不用了,咱们能够删除,这时咱们就用到了“git stash drop <stash@{pos}> ”,stash@{pos}是可选的,没有的话默认是删除最新的那个上下文列表:经过操做咱们发现git stash很像咱们玩闯关游戏时,在玩到某个环节咱们因其余缘由要中途中止,可是咱们又不想再玩的时候从头开始,这个时候咱们能够选择保存副本,当从新玩游戏时咱们能够重头开始玩,也能够恢复副本继续上次的节点继续玩app
Git多人协做开发流程
咱们在实际开发中是多人协做共同维护一个或是多个项目代码,这时候就须要多人之间协做,具体流程:
(1).当完成本地的编辑开发之后,使用“git push origin 分支名”推送本身的修改
(2).若是推送修改到远程仓库失败,说明远程分支比咱们本地仓库的数据更(四声)新,这时应该先用“git pull”从远程仓库拉取最新代码到本地进行合并
(3).若是在合并的时候发生了冲突,那么就按照解决冲突的流程进行处理,并解决了冲突之后的文件再提交
(4).若是没有冲突或是冲突解决,咱们再次执行第一步操做
(5).若是提示“no tracking infomation”,则说明本地仓库分支没有与远程仓库对应分支创建关联,使用“git branch --set-upstream branch-name origin/分支名”进行关联学习
git标签
因为commitid可读性较差,让人不经过commitid很好的管理git仓库中各个版本的内容,因此使用标签来指向具体的commitid:
“git tag tagname <commitid>”建立一个标签在没有哦指定commitid状况下,默认指向当前最新的commitid
“git tag”用户显示当前全部tag列表“git show tagname”查看指定名称tagname的信息
"git tag -d tagname"删除指定名称的tag
git push origin 分支名 tagname(tags)将标签数据推送到远程仓库spa