🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 用法 ### 切换分支 ``` git checkout <new_branch> ``` ### 创建并切换分支 ``` git checkout -b <new_branch> ``` 等效于 ``` git branch <new_branch> git checkout <new_branch> ``` ### 强制切换分支 如果创建存在同名分支,`-b`会报错, `-B`会强制覆原同名分支 ``` git checkout -B <new_branch> ``` ### 切换新分支为远程分支 ``` // 拉取并切换同名的远程分支 > git checkout -t origin/release // 可以指定名称 > git checkout -b <new_branch> origin/newBranch ``` ### 创建空分支 没有commit历史记录,是一个完全独立背景干净的分支 ``` > git checkout --orphan <branch_name> // 此时内容已经为无历史的仓库 // 可以使用 git rm -rf 删除不需要的文件 // 甚至可以 git rm -rf . 删除所有文件 并提交 > git commit -am "xxx" ``` ### 带修改内容切换分支 ``` git checkout --merge <branch> ``` 在切换分支时,连修改内容一并带过去 注意: 1. 如果当前分支和切换分支间的内容不同的话,容易造成冲突。 2. 切换到新分支后,当前分支修改过的内容就丢失了。 ### 交互显示与另一分支的区别 可以在交互时界面中进行合并 ``` >git checkout -p master_no_saas ... IX' => '.html', // 设置静态缓存文件后缀 + 'HTML_CACHE_RULES' => array( + 'board:board_content'=>array('{:module}/{:controller}/{:action}/{id}'), + ) ); (1/1) Apply this hunk to index and worktree [y,n,q,a,d,e,?]? y ``` ### 撤销所有更改 `git checkout .` ### 撤销文件更改 `git checkout README.md` ### 一个分支强制覆盖另一个分支 方式一: ``` git push origin develop:master -f ``` 方式二: ``` git checkout master git reset --hard develop git push origin master --force ``` 方式三: 如果被覆盖的分支为保护分支 ``` git checkout master git reset --hard develop git pull --rebase git push origin master ```