指令 | 描述 |
---|---|
分支查询 | |
git branch | 列出所有本地分支,加参数-v显示详细列表,下同 |
git branch -r | 列出所有远程分支 |
git branch -a | 列出所有本地分支和远程分支,用不同颜色区分 |
分支新建 | |
git branch [branch-name] | 新建一个分支,但依然停留在当前分支 |
git branch [branch] [commit] | 新建一个分支,指向指定commit id |
git branch —track [branch] [remote-branch] | 新建一个分支,与指定的远程分支建立关联 |
分支切换 | |
git checkout . | 撤销工作区的(未暂存)修改,把暂存区恢复到工作区。不影响暂存区,如果没暂存,则撤销所有工作区修改 |
git checkout [file] | 同上,file指定文件 |
git checkout HEAD . | 撤销工作区、暂存区的修改,用HEAD指向的当前分支最新版本替换工作区、暂存区 |
git checkout HEAD [file] | 同上,file指定文件 |
git checkout -b dev | 从当前分支创建并切换到dev分支 |
git checkout -b feature1 dev | 从本地dev分支代码创建一个 feature1分支,并切换到新分支 |
git checkout -b hotfix remote hotfix | 从远端remote的hotfix分支创建本地hotfix分支 |
分支切换:✅switch:新的分支切换指令,切换功能和checkout一样,switch只单纯的用于切换 | |
git switch master | 切换到已有的master分支 |
git switch -c dev | 创建并切换到新的dev分支 |
分支合并 | |
git merge [branch] | 合并指定分支到当前分支 |
git merge —no-ff dev | 合并dev分支到当前分支,参数—no-ff禁用快速合并模式 |
分支删除 | |
git branch -d dev | 删除dev分支,-D(大写)强制删除 |
git push origin —delete [branch-name] | 删除远程分支 |
git branch -r | grep ‘origin/dependabot’ | sed ‘s/origin///g’ | xargs -I {} git push origin :{} | 批量删除远端分支 |
跟踪分支 | |
git branch —set-upstream [branch] [remote-branch] | 在现有分支与指定的远程分支之间建立跟踪关联:git branch --set-upstream hotfix remote/hotfix git checkout [branch-name] 切换到指定分支,并更新工作区 |