查看分支:git branch
创建分支:git branch
切换分支:git checkout 或者git switch
创建+切换分支:git checkout -b 或者git switch -c
删除分支:git branch -d
强制删除: git branch -D
储藏工作区:git stash
使用场景:当前工作区的修改未完成,不适合提交。此时有一个插队bug需要处理,此时就可以使用stash暂时储藏起工作区的修改
查看储藏列表:git stash list
此处的存储区和暂存区不是一个地方。存储区是将未提交的修改存储起来方便干其他的活。暂存区是提交到分支的修改暂时停留的一个区域
恢复储藏:git stash apply —> git stash drop
恢复完,再手动删除stash内容。 恢复多个储藏中的一个:git stash apply stash@{0}
恢复储藏:git stash pop
恢复的同时也把stash内容删除
回退到上一个提交版本:git reset --hard HEAD^
回退到指定版本:git reset --hard commit_id --hard:修改版本库,修改暂存区,修改工作区 --soft:修改版本库,保留暂存区,保留工作区
删除暂存区文件:git rm --cached ***
查看远程分支:git remote
显示更详细的信息:git remote -v
添加所有修改文件到暂存区:git add .
单独添加文件:git add ***
提交暂存区文件到当前分支:git commit -m “***”
修改发起者信息并提交:git commit --author=“zhangsan<zhangsan@qq.com>” -m “又来提交bug了”
为这一次提交打一个标签:git tag -a *** -m “***”
例如:git tag -a 0.1.3 -m “Release version 0.1.3” 为指定一次提交打标签:git tag v0.9 f52c633
不同分支修复同样bug:git cherry-pick 4c805e2
4c805e2是一次在master分支修改bug的commit, 使用此命令可以修复同样有此bug的其他分支
合并某分支到当前分支:git merge
合并分支: git merge --no-ff -m “merge with no-ff” dev
加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
提交到当前分支到远程分支:git push origin master
指定分支:git push aosp master:pade9r-develop
提交标签到远程服务器:git push origin --tags
删除标签:git tag -d 0.1.3 删除远程端服务器标签:git push origin :refs/tags/0.1.3 注意删除远程标签时需要前删除本地标签再push操作来删除远程标签